我可以为 Android 应用程序的 alpha/beta/prod 环境提供不同的资源吗?

Can I provide different resources to alpha/beta/prod enviroment of an Android app?

我有一个 android 应用程序,它通过 HTTP 请求与服务器通信。服务器的地址在文件夹 res/values 下的 XML 资源文件中定义。有一个带有 type="config" 的标签。根据服务器的环境,我有不同的服务器地址。比如x.x.x.x地址下有一个测试服务器,而y.y.y.y地址下有一个生产服务器。

在开发者控制台上,我为测试版用户上传了一个 apk,链接到测试服务器。我想将其推广到生产环境,但我只需要在更新更改服务器的 URL.

时生成一个新的 apk 文件

问:我可以为 alpha、beta 和生产环境提供不同的资源,而不需要新的 apk 版本吗?

是否可以添加一些 /res/values-beta/ 文件夹,例如?或者,是否有一种编程方式来检查应用程序所在的环境?这样我就可以自己决定采用哪个配置。

如评论中所述,您需要使用构建变体和构建风格。这是有关如何操作的精彩教程:

http://blog.robustastudio.com/mobile-development/android/building-multiple-editions-of-android-app-gradle/

嗨,我也在搜索过去这么多天的相同内容,我来到了这个教程:

https://medium.com/@rdsubhas/a-better-android-release-pipeline-7eca6d76f0da#.nwfl59qs0

这是使用 productFlavors 为 alpha/Beta 和生产 apk 提供不同的端点,而无需上传新的 apk。

希望对您有所帮助。

如果您已经找到解决方案,请在此处分享。

谢谢..