这个问题应该解决我需要更新子库内容提供程序的另一个问题:使用 Gradle 库中的构建类型来运行在一台设备上使用 ContentProvider 的相同应用程序
我在根应用程序中有一个产品风味,它成功地更改了包名称,因此我可以部署不同版本的应用程序。当我尝试在子库中添加相同的产品风味时,构建失败,因为根应用程序无法加载从子库引用的 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 包不存在 import com.company.android.fyc.controllers.FYCHomePagerActivity;
谢谢你的帮助!