android - 在Beta和发行版之间快速切换

标签 android android-studio gradle google-play version

我在以下情况下正在开发android应用程序:

  • 测试人员(不是开发人员,不一定适合计算机,但我确实知道他们的Play商店电子邮件),以便能够在同一应用程序
  • 的Beta版和稳定版之间快速切换
  • 通过Play商店
  • 提供对稳定版和Beta版的更新
  • 限制访问测试版。该发行版本已经在Play商店中公开提供。

  • 到目前为止,我主要致力于在Android设备上获取基本相同应用的两个版本的方法。我已经考虑了一些选择,但是我希望获得有关如何进行操作的建议。我可以:
  • 创建一个“new”应用,并在其名称后附加beta,并使用不同的图标将其与测试人员区分开,但内部原理基本相同。它可以作为封闭的alpha /内部测试通过Play商店分发。我想避免这种情况,因为这将使我更加难以管理版本-当我要升级Beta版本时,我必须手动更改图标和应用程序名称
  • 创建构建样式。我不能完全确定 flavor 的制作能力或支持程度。
  • 使用Google Play商店的封闭式Alpha /内部测试程序。这不是理想的,因为它花了大量的精力选择加入/退出测试程序。您必须转到一个URL,单击一个按钮,卸载该应用程序,然后重新安装该应用程序。
  • 使用app cloner之类的应用来克隆稳定版本并将其重命名,然后通过Play商店分发Beta。这不是理想的,因为它使更新发行版需要开发人员的干预。

  • 注意:当我说封闭的alpha和内部测试时,我的意思是google播放封闭的alpha和内部测试(可通过google开发者控制台访问),而不是更笼统的定义。当我说Beta时,我指的是更笼统的定义-预发行版本。
    编辑:按照this上的建议,我成功安装了两个应用程序,但是每当尝试打开一个应用程序时,我都会看到一个选择器对话框,例如information redacted to protect the identity of the app

    最佳答案

    Google Play已经为您提供了分发产品所需的全部功能,以及与产品版本同时发布的Alpha / Beta /内部版本。

    据我了解,您的问题是您希望测试人员在同一设备上同时拥有两个版本的应用程序。
    您无法通过考虑的选项来完成此任务。即使更改名称和图标,唯一重要的是应用程序ID。如果您不更改应用程序ID,则无法安装两次。另一方面,如果更改程序包名称,则将其视为全新的应用程序,因此您必须在Google Play中创建一个新的应用程序。

    我建议使用完全支持的构建变体( flavor )。
    这样,您可以轻松更改软件包名称(以及应用程序名称,以使其更易于理解)。
    当然,正如我之前提到的,您应该在Google Play中创建一个新应用或以其他方式分发它。

    新版本的gradle应与应用gradle中的外观相似:

    buildTypes {
        release {
        ....
        }
        qa { //your new variant name
           applicationIdSuffix ".qa" //this will append a ".qa" to your app id
           versionNameSuffix "-qa" //this will append a "-qa" to your app name
           ...
        }
    }
    

    关于android - 在Beta和发行版之间快速切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52712085/

    相关文章:

    java - 由于包不存在,Android Studio 无法生成 Javadoc

    android - Gradle:如何自定义 Android Manifest 权限?

    Android Gradle 单元测试从 JAR 迁移 - 从 junit 和 mockito 复制 hamcrest 文件

    android - 发布新版本的android应用时未安装该应用

    android - 捕获图像后如何更改 ListView 行图标?

    android - 如何在 React-Native 中只获得数字键盘?

    java - map View 的 AlertDialog.Builder 的默认上下文?

    android - 如何在 flutter 朔迷离的版本中删除调试横幅?

    android-studio - 为什么我只看到官方 android 类的反编译源代码?

    android - 无法在Android Studio上运行程序flutter.bat