如何开发相同应用程序的生产版和测试版,以便在同一设备中进行安装

时间:2016-05-03 16:22:52

标签: android android-studio versions

我正在开发一个Android应用程序,现在应该在为生产应用程序提供服务的同一环境中测试新功能的时候了。

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

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

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

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

提前感谢您的见解。

1 个答案:

答案 0 :(得分:4)

使用应该使用不同的构建类型进行测试。

在app模块的build.gradle中,

android {

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

        }
        release {

        }
    }
}

在这里,我们正在添加后缀" beta"到你的应用程序的applicationId。因此,您可以拥有2个应用程序的变体。如果您想在单个移动设备中使用两个以上的变体,只需添加另一个具有不同后缀的变体。

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

在这种情况下不应使用产品香精。如果您有两种类型的相同产品,例如普通应用和付费应用,则会使用产品口味。要获得应用的测试版,您应该使用构建类型。