【发布时间】:2014-09-02 11:18:45
【问题描述】:
这个问题应该可以解决我需要更新子库内容提供者的另一个问题:Using build types in Gradle libraries to run same app that uses ContentProvider on one device
我在根应用程序中有一个产品风味,它成功地更改了包名称,因此我可以部署不同版本的应用程序。当我尝试在子库中添加相同的产品风格时,构建失败,因为根应用程序无法加载从子库引用的 java 类,因为现在包名称已更改?我认为产品风格不会影响 java 类包结构?
ATCApp.gradle 根应用程序
...
dependencies {
...
compile project(':libraries:FYC')
...
}
...
android
{
...
productFlavors
{
prod {
packageName "com.company.android"
}
qa {
packageName "com.company.android.qa"
}
}
}
FYC.gradle 子库
...
android
{
...
productFlavors
{
prod {
resValue "string", "authority", "com.company.android.fyc.models.listing.listingprovider"
}
qa {
resValue "string", "authority", "com.company.android.qa.fyc.models.listing.listingprovider"
}
}
}
在子 FYC 库中添加上述产品风味会导致根应用程序抛出错误:
/src/main/java/com/company/android/HomeBroadcastReceiver.java:7: com.company.android.fyc.controllers 包不存在 导入 com.company.android.fyc.controllers.FYCHomePagerActivity;
感谢您的帮助!
【问题讨论】:
标签: android gradle android-library android-productflavors