我们有一个具有相同代码但不同国家/地区的APK不同的应用程序。我应该使用哪种方法动态更改程序包名称?
答案 0 :(得分:1)
在gradle文件中使用productFlavors。 您可以在here
中找到更多详细信息定义多种口味,并在每个口味中设置包装名称,如下所示:
android {
defaultConfig {
applicationId "com.example.myapp"
}
productFlavors {
free {
applicationIdSuffix ".free"
}
pro {
applicationIdSuffix ".pro"
}
}
}
答案 1 :(得分:1)
在您的build.gradle文件中添加风味
android {
productFlavors {
app1 {
applicationId 'com.mobile.app1'
versionCode 1
versionName "0.9.4"
}
app2 {
applicationId "com.mobile.app2"
versionCode 1
versionName "0.9.4"
}
}
}
然后您可以在源文件夹中创建文件夹app1和app2。 文件夹app1和app2都应在内部包含java和res文件夹,其结构实际上与主文件夹相同,但没有文件。
仅应将app1和app2特定文件添加到app1和app2中。
因此,如果您想要不同的字符串,则可以将字符串文件添加到app1/res/strings.xml
等中。
对于.java文件,同样的事情,只需要添加与主文件夹中相同的路径即可。
main/java/com/.../MyClass.java
将是app1/java/com/.../MyClass.java
和app2/java/com/.../MyClass.java
在左下角,您可以切换构建变体以在模拟器或设备中运行应用。
创建.apk或.aab时,您可以选择要构建的应用。