我正在开发 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/