我需要安装我的项目的两个版本(生产和开发)。我需要2个应用程序。我试图通过使用flavor来实现它,但是当我签署apk时,它总是使用相同的packageName(com.company.project)生成相同的应用程序。我已尝试从defaultConfig中删除applicationId,但它既不工作。在清单中,包名称为com.company.project。
任何人都知道该怎么做?
这是build.gradle
defaultConfig {
multiDexEnabled true
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
applicationId "com.company.project"
}
productFlavors {
development {
applicationId
"com.company.project.DEV"
versionName "1.0-dev"
resValue "string", "app_name", "Project-Dev"
}
production {
applicationId
"com.company.project.PROD"
resValue "string", "app_name", "Project-Prod"
versionName "1.0-prod"
}
}
答案 0 :(得分:1)
创建productFlavors
时,相应的gradle
任务也会发生变化。
例如,您最初只有assembleDebug
和assembleRelease
。但是,在实施productFlavors
后,gradle
任务将发生变化。以你的例子为考虑,它将是
assembleDevelopmentDebug
assembleDevelopmentRelease
assembleProductionDebug
assembleProductionRelease
如果您使用Android Studio
,那么您不必担心gradle
任务。只需从菜单中选择Build Variant
即可构建项目。它将运行相应的gradle任务并安装构建。
我写了一篇博客解释这个,Product Flavors in Android。 GitHub上还提供了一个示例项目。