如何在 1 个 Playstore 项目中上传 2 个不同风格的应用程序
How to upload 2 different flavor apps in 1 playstore project
以下是我的应用程序包名称
com.test.myapp
我已经创建了 2 种产品口味,1 种用于开发,1 种用于生产,如下所示。
productFlavors {
dev {
applicationId = "com.test.myapp.dev"
}
production {
applicationId = "com.test.myapp"
}
}
它工作正常,当我从 android studio 启动应用程序时,它也可以很好地创建签名的 apk,但是当我尝试在 play 商店上传 development apk
时,它会给出以下错误消息。
Your APK or Android App Bundle needs to have the package name
com.test.myapp
.
从技术上讲这是不可能的,Google 不允许这样做,为此您需要在 Google 上创建 2 个应用程序。但是为什么你需要用不同的包名来开发 flavor 呢? Google 的 Alpha 测试不能解决您的问题吗?
编辑:
根据评论,问题是如何根据构建配置加载不同的 strings.xml
而无需创建新的包名称。
解决方案:
flavorDimensions "dev"
productFlavors {
dev {
flavorDimensions "dev"
}
prod {
flavorDimensions "dev"
}
}
在 dev
源集中创建新的 strings.xml
资源
\src\dev\res\values\strings.xml
我已经上传了演示项目:
https://github.com/pavelpoley/FlavorTest
您可以在文档中找到更多信息:
https://developer.android.com/studio/build/build-variants#sourcesets
以下是我的应用程序包名称
com.test.myapp
我已经创建了 2 种产品口味,1 种用于开发,1 种用于生产,如下所示。
productFlavors {
dev {
applicationId = "com.test.myapp.dev"
}
production {
applicationId = "com.test.myapp"
}
}
它工作正常,当我从 android studio 启动应用程序时,它也可以很好地创建签名的 apk,但是当我尝试在 play 商店上传 development apk
时,它会给出以下错误消息。
Your APK or Android App Bundle needs to have the package name
com.test.myapp
.
从技术上讲这是不可能的,Google 不允许这样做,为此您需要在 Google 上创建 2 个应用程序。但是为什么你需要用不同的包名来开发 flavor 呢? Google 的 Alpha 测试不能解决您的问题吗?
编辑:
根据评论,问题是如何根据构建配置加载不同的 strings.xml
而无需创建新的包名称。
解决方案:
flavorDimensions "dev"
productFlavors {
dev {
flavorDimensions "dev"
}
prod {
flavorDimensions "dev"
}
}
在 dev
源集中创建新的 strings.xml
资源
\src\dev\res\values\strings.xml
我已经上传了演示项目:
https://github.com/pavelpoley/FlavorTest
您可以在文档中找到更多信息:
https://developer.android.com/studio/build/build-variants#sourcesets