Android 如何在Google Play上测试应用程序更新?
比如说,我在谷歌Play商店中安装了1.0版的应用程序 在新版本(1.1)中,我希望使用新列升级数据库 数据库升级是我的应用程序中常见的崩溃,因为以前版本(1.0)中的用户在数据库中没有新列Android 如何在Google Play上测试应用程序更新?,android,google-play,android-testing,Android,Google Play,Android Testing,比如说,我在谷歌Play商店中安装了1.0版的应用程序 在新版本(1.1)中,我希望使用新列升级数据库 数据库升级是我的应用程序中常见的崩溃,因为以前版本(1.0)中的用户在数据库中没有新列 if (oldVersion == 2 && newVersion == 3) { previousMeasures = dbManager.getMeasureListAnglePhoto(); db.execSQL("DROP DATABASE dbOl
if (oldVersion == 2 && newVersion == 3) {
previousMeasures = dbManager.getMeasureListAnglePhoto();
db.execSQL("DROP DATABASE dbOld.db");
db.execSQL("DROP TABLE IF EXISTS " + TableConstants.TABLE_ANGLE_PHOTO);
onCreate(db);
if (previousMeasures != null) {
for (Measure measure : previousMeasures) {
dbManager.addMeasureAnglePhoto(measure);
}
}
}
我曾尝试使用Google Play Store的beta测试功能,但问题是没有有效的方法(或者至少我还没有找到)来执行以下操作:
将当前稳定版本(1.0)安装到测试仪的设备上,然后将应用程序更新到(1.1)-假设我们在新更新版本(1.1)的播放测试期间出错,我修复了它(1.2),我想重复此过程,我想将1.0稳定应用程序安装到测试仪的设备上,我想再次将应用程序更新为1.2(已解决错误)
唯一的方法(就我而言)是从beta测试列表中删除beta测试仪(在Google Play系统中刷新可能需要数小时),重新下载1.0应用程序,将测试仪重新添加到beta测试列表中,(再次等待数小时),然后下载新的1.2应用程序
是否有更复杂的方法来测试应用程序版本更新
提前谢谢
编辑:
如果我能和其他人一起测试我的应用程序,那就太好了。因此,解决方案所需的编程和命令提示符使用越少越好。您不需要使用
播放存储来测试数据库升级。
您可以只使用模拟器。拖放版本1.0(这将安装应用程序),打开应用程序,然后拖放版本1.1
没有任何真正的“升级”功能。这只是新版本的安装
顺便说一下,您可以在我用于iOS和Android应用程序的无痛beta发行版的SQLiteOpenHelper
中添加新闻栏
发件人:
在整个开发生命周期中,您希望尽早并经常获得反馈。使用Beta版,您可以轻松地向用户发送Beta版。您将自动获取所有构建的使用情况统计数据和稳定性指标,以便您知道何时可以发布
我发现它非常有用,并将beta与用于崩溃报告的工具结合使用。以下是优点:
- 您可以通过gradle自动化构建,并支持beta版
- 所有测试人员都可以立即使用构建
- 所有版本都已存档,可以随时使用
- 动态添加QA工程师,跟踪进度,通过创建和共享构建动态添加QA工程师
- 使用构建(apk)和构建版本访问所有构建发行说明李>
- 此外,如果构建得到QA工程师的批准,您可以直接将相同的apk从gradle自身通过fastlane上传到playstore
你真的不需要beta频道来测试应用程序更新。您只希望在完成测试并希望开始接收用户反馈后使用beta频道
要测试应用程序更新,最基本的方法是
卸载应用程序的任何当前安装
安装最新的PlayStore版本
打开应用程序,登录,执行任何需要填充数据库和设置的操作
安装新的、更新的应用程序版本。必须使用发布密钥库对此进行签名,否则更新将失败
测试应用程序更新
修正错误并重复
步骤1.
是确保您获得用户想要的PlayStore版本。卸载是确保清除应用程序数据的最佳方式。之后,您只需像任何用户在2.
中一样安装应用程序
你必须至少打开一次应用程序,否则它将无法运行。如用户所愿,使用数据填充应用程序,以便您可以正确测试更新。3.
步骤是设置测试数据
在步骤4.
中,请记住,您只需要使用发布密钥库签名的应用程序,但它仍然可以调试。如果出现更严重的错误,您仍然可以附加调试器并检查发生的情况。
如果您正确配置了build.gradle文件,您可以在选择发布版本变量后在Android Studio中按下播放按钮。您可以在测试时将发布配置修改为可调试,也可以创建第三个版本签名但可调试的buildType
有乐趣的测试
如果您使用的是VCS
如果您使用的是版本控制系统(VCS)——我真的希望您这样做,那么您也可以在使用最新快照更新之前构建并安装以前的版本。同样的步骤也适用,只适用于步骤2中的步骤。
您自己构建并安装以前的版本。
与使用应用程序的发布版本相比,在某些情况下这可能更容易,因为您不需要访问发布密钥库,并且您可以使用调试签名的应用程序,而无需更改build.gradle中的任何内容
这种方法要求您跟踪当前发布的版本,否则您可能会测试错误的更新。因此,请务必标记您的发布 我建议您备份数据,以便轻松测试和调整迁移代码。这只适用于模拟器或根设备
安装并使用您的“旧”应用程序
通过adb pull/data/data/com.company.app$LOCALDIR保存数据
通过IDE或adb更新到新的应用程序版本
测试您的迁移
从现在起,无需再次安装旧应用程序
要重试迁移,请执行以下操作:
1. <代码>亚洲开发银行推送$LOCALDIR/data/data/com.company.app
2.测试您的迁移
3.修复迁移代码并重复这非常简单,您可以通过自己更改数据库版本来测试它。您甚至不需要更新清单文件中的版本代码。如果您使用的是SQLite数据库和
SQLiteOpenH,那么我的答案是有效的
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
this.oldVersion = oldVersion;
this.newVersion = newVersion;
if(oldVersion == 1 && newVersion == 2) {
// add columns
} else if(oldVersion == 2 && newVersion == 3) {
// Do another stuff
}
}
if (oldVersion == 2 && newVersion == 3) {
previousMeasures = dbManager.getMeasureListAnglePhoto();
db.execSQL("DROP DATABASE dbOld.db");
db.execSQL("DROP TABLE IF EXISTS " + TableConstants.TABLE_ANGLE_PHOTO);
onCreate(db);
if (previousMeasures != null) {
for (Measure measure : previousMeasures) {
dbManager.addMeasureAnglePhoto(measure);
}
}
}