【问题标题】:Can I provide different resources to alpha/beta/prod enviroment of an Android app?我可以为 Android 应用程序的 alpha/beta/prod 环境提供不同的资源吗?
【发布时间】:2015-05-20 18:19:17
【问题描述】:

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

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

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

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

【问题讨论】:

  • 使用“构建风味”来实现这一点。您可以创建从不同 res 文件夹加载的构建变体

标签: android apk beta-testing


【解决方案1】:

如 cmets 中所述,您需要使用构建变体和构建风味。这是一个很棒的教程:

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

【讨论】:

  • 为教程投票!我读过它,味道似乎真的很方便,有很多功能。我刚刚错过了一个细节:我需要为每种风味分别部署一个 apk 吗?当然,这已经对我有所帮助,因为我不需要在部署之前进行任何更改,但如果我没有误解,风味会在编译时影响 apk。你认为有办法实现吗?目前,您的答案最接近我想要达到的目标,因此我正在将其付诸实践,然后接受它。很高兴知道“味道”。
  • @jotaEsse 我想你可以在这里找到问题的答案:tulipemoutarde.be/2013/10/06/… 不幸的是,我没有丰富的口味经验。
【解决方案2】:

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

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

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

希望对您有所帮助。

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

谢谢..

【讨论】:

    猜你喜欢
    • 2012-06-08
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 2014-02-08
    相关资源
    最近更新 更多