多个apk的多个包名称

时间:2019-05-15 07:00:58

标签: android android-package-managers

我们有一个具有相同代码但不同国家/地区的APK不同的应用程序。我应该使用哪种方法动态更改程序包名称?

2 个答案:

答案 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.javaapp2/java/com/.../MyClass.java

在左下角,您可以切换构建变体以在模拟器或设备中运行应用。

创建.apk或.aab时,您可以选择要构建的应用。