【问题标题】:Multiple package name for multiple apk [closed]多个apk的多个包名称[关闭]
【发布时间】:2019-05-15 07:00:58
【问题描述】:

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

【问题讨论】:

标签: android android-package-managers


【解决方案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 时,您可以选择要构建的应用程序。

【讨论】:

    【解决方案2】:

    在 gradle 文件中使用 productFlavors。 您可以在here找到更多详细信息

    定义多种口味并在每个口味中设置包名称,如下所示:

    android {
        defaultConfig {
            applicationId "com.example.myapp"
        }
        productFlavors {
            free {
                applicationIdSuffix ".free"
            }
            pro {
                applicationIdSuffix ".pro"
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-21
      • 2018-09-04
      • 2020-01-15
      • 1970-01-01
      • 2014-10-16
      • 1970-01-01
      • 2020-01-08
      相关资源
      最近更新 更多