如何在Android设备上管理调试和发布版本?

Geo*_*tic 26 android conflict device signature

我是Android开发人员的新手,我几乎准备好发布我的应用程序的第一个版本:)

在我的手机上测试签名版本apk时,它拒绝安装,因为调试版本随调试签名一起安装.

所以我必须卸载调试版本,但它删除了我的所有数据库(它将对我正在测试它的朋友这样做).

有没有办法管理同一个应用程序的调试和发布版本而不会丢失数据?

Eva*_*rim 36

许多Android项目开始使用gradle构建系统(当我们开始使用Android Studio时,我们已转换到它).幸运的是,gradle使得同时安装开发和发布版本非常简单,每个版本都有自己独立的数据.在Android的文档涵盖这一点,只需添加applicationIdSuffix到您的调试版本类型,如下所示:

android {
    buildTypes {
        debug {
            applicationIdSuffix ".debug"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Oll*_*e C 4

我不知道有什么简单的方法可以绕过卸载/重新安装过程,因此您的选择包括...

  • 购买第二台设备进行测试(现在有些 Android 设备非常便宜,尤其是在 eBay 上)
  • 使用模拟器进行测试

我看到了同样的问题,但这是可以预料的,所以我使用手机进行调试开发,使用平板电脑进行生产测试。当我接近发布时,我会在设备和模拟器上测试生产版本。

对于您的测试人员,我建议您始终为他们提供发布版本,但您可以包含大量日志记录以帮助解决问题。调试版本仅供您使用,发布版本供他们使用。如果您为测试人员提供发布版本,他们使用并积累数据,当他们升级到下一个版本时,可以保留数据(或更新,如果您更改架构)以迁移他们的数据。

我认为您的测试人员不需要使用调试和发布版本。

  • @Geobert我认为向测试人员发送调试版本是一个坏主意,最好向他们发送生产版本。它为他们提供了更接近最终结果的体验,例如确保他们正在测试使用生产 MapView 键的版本。调试版本适合您,生产版本适合您的测试人员和最终用户 (3认同)