android - 如何开发同一应用程序的生产版和测试版以安装在同一设备中

标签 android android-studio versions

我正在开发 Android 应用程序,现在应该在与生产应用程序相同的环境中测试新功能。

我已经尝试创建一个新分支并将其重命名为 .testing 在 list 和 gradle 文件中,但我对提供商有疑问,具体说明:

I/dalvikvm: Could not find method android.app.Fragment.setSharedElementEnterTransition, referenced from method com.corp.app.AccountFrag.access$super

所以我认为这不是方法。我希望应用程序安装在它的两个变体中(它们不一定需要共享数据)并且用户打开一个或另一个取决于是否需要在生产环境或更可靠、稳定的版本中测试新功能需要运行。

有没有人处理过这个问题?我想我需要研究口味,但我不知道。

提前感谢您的见解。

最佳答案

Use 应该为 beta 使用不同的构建类型。

在您的应用模块的 build.gradle 中,

android {

buildTypes {
        beta {
            applicationIdSuffix ".beta"
            versionNameSuffix "-beta"
            resValue "string", "app_name", "Beta App"
        }
        debug {

        }
        release {

        }
    }
}

在这里,我们为您应用的 applicationId 添加后缀“beta”。因此,您的应用程序可以有 2 个变体。如果您想在单个手机中使用 2 个以上的变体,只需添加另一个具有不同后缀的变体。

要在 AndroidManifest 中使用包名称,请使用 ${applicationId} 而不是 com.example.dinesh。如果要在 java 类中使用包名称,请使用 BuildConfig.APPLICATION_ID

在这种情况下不应使用产品口味。当您有两种类型的相同产品时,会使用产品口味,例如普通应用和付费应用。要测试您的应用程序,您应该使用构建类型。

关于android - 如何开发同一应用程序的生产版和测试版以安装在同一设备中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37009382/

相关文章:

c# - C#3 和 4 中扩展方法的区别

java - 当 Activity 和/或应用程序关闭时保持广播接收器运行?

android - 由于: '' pm install-create -r -t -S 465463 6' returns error ' UNSUPPORTED'',安装失败

安卓工作室 : Error converting bytecode to dex

hadoop - 为行键放置不同值但在 hbase 中放置相同时间戳的解决方案?

java - Eclipse 插件只能在我的机器上运行

java - Gps 不适用于 Android 4.2.2

android - 使用 Sqlite 将数据从 Edittext 输入填充到 Spinner Display

Android Studio "0 test classes found in package"当 "rerun failed tests"

android-studio - 如何将 GooglePlayServices 和 BaseGameUtils 库添加到 Android Studio 4.4