在Play商店中将相同的Android应用相乘

时间:2016-01-19 11:24:37

标签: android package manifest

我的应用程序需要成倍增加,因为我希望Google Play中的许多应用程序具有相同但以不同方式配置的应用程序。 例如,我想制作一个应用程序来查看每个国家的最新消息。 我想要一个英格兰的应用程序,一个用于法国,一个用于意大利......等等。 该应用程序是相同的,但配置在不同的模式(不同的应用程序名称,不同的徽标,不同的文本等..)

我知道我必须创建多个Android项目。我认为我必须重命名包.. ex ...

com.xxx.myappEn

com.xxx.myappFr

com.xxx.myappIt

我测试了这个解决方案,但是当我安装myAppFr时,它会覆盖以前安装的。

重构后,我发现在build.gradle(app)中还有 com.xxx.myapp

defaultConfig {
    applicationId "com.xxx.myapp"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}

此ID必须不同?

问题2: 我的应用需要从网上保存文件..我这样做:

new File(getFilesDir() + File.separator + DATA_FILE_NAME)

getFilesDir()取决于applicationId?我看到它始终是

com.xxx.myApp

而不是:

com.xxx.myAppEn

或其他人。

问题3:还有更快的解决方案吗?

1 个答案:

答案 0 :(得分:2)

使用gradle产品口味。它们正是您所需要的。

你的问题:

  

这个ID需要不同吗?

是。 build.grade中的applicationId将覆盖包名称(即使在清单中)。如果您添加更多产品口味,这非常方便。

  

getFilesDir()取决于applicationId?

是。因为getFilesDir依赖于您的包,并且gradle使用applicationId

中的值来操纵包
  

还有更快的解决方案吗?

是。使用在build.gradle中定义了多个产品风格的一个项目。

需要更多信息?谷歌指南一定会帮助您: http://developer.android.com/tools/building/configuring-gradle.html#workBuildVariants