我已经设置Gradle将包名称后缀添加到我的调试应用程序中,因此我可以使用我正在使用的发行版本并在一部手机上调试版本.我参考了这个:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Types
我的build.gradle文件如下所示:
...
android
{
...
buildTypes
{
debug
{
packageNameSuffix ".debug"
versionNameSuffix " debug"
}
}
}
Run Code Online (Sandbox Code Playgroud)
一切正常,直到我开始在我的应用程序中使用ContentProvider.我明白了:
Failure [INSTALL_FAILED_CONFLICTING_PROVIDER]
Run Code Online (Sandbox Code Playgroud)
我知道这是因为两个应用程序(发布和调试)正在注册相同的ContentProvider权限.
我认为有一种可能来解决这个问题.如果我理解正确,您应该能够指定在构建时使用的不同文件.然后我应该能够将不同的权限放在不同的资源文件中(并从Manifest设置权限作为字符串资源)并告诉Gradle使用不同的资源进行调试构建.那可能吗?如果是,那么关于如何实现这一点的任何提示都会很棒!
或者也许可以使用Gradle直接修改Manifest?有关如何在一台设备上使用ContentProvider运行相同应用程序的任何其他解决方案始终是受欢迎的.
android gradle android-contentprovider android-gradle-plugin