Android 版本更新覆盖安装失败

  1. 简介
    android实现版本更新时,必须打包成apk进行测试,不可以直接运行到手机调试,因为运行时的key是debug环境的,而打包后是release包,也可以直接用adb安装,上线必须都是打包release环境
  2. 覆盖安装失败原因可能有以下几种:
    2.1 : 手机安装的必须是打包后的apk ,不能直接运行项目
    2.2 : 修改build.gradle中的versionName和versionCode,如下:
android {
  compileSdkVersion 23
  buildToolsVersion '25.0.0'
  defaultConfig {
      applicationId "com."
      minSdkVersion 15
      targetSdkVersion 23
      versionCode 7
      versionName "1.0.6"
      testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  }
  buildTypes {
      release {
//            debuggable false  //打包上线时需要改为false
          minifyEnabled false
          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      }
  }
  sourceSets {
      main {
          jniLibs.srcDirs = ['libs']
      }
  }
  useLibrary 'org.apache.http.legacy'
}
2.3 : 应用有创建数据库发生变化而没有提高数据库版本号 也会导致安装不成功的
public LocationDBOpenHelper(Context context) {
       super(context, "location.db", null,7);
}    

2.4. 如果你手机上已经安装了之前打包后的app,那么此时如果你直接运行app,也会导致app安装不上,只需要卸载手机上的app,重新运行即可

2.5 如果你之前Sqlite数据库中创建表中的字段比如只有3个字段,而你现在由于项目需要又重新添加了2个字段,此时你直接运行项目到手机上,也会安装不上去,解决方法同上,直接卸载手机的app,重新安装即可

综上:打包测试apk版本更新时,就不会出现任何问题

觉得有帮助的话,可以持续关注我的及github,会不定期分享自己项目中遇到的问题、bug、及解决方法

地址:https://www.jianshu.com/u/c5fabe27176e
github:https://github.com/shuai999/

你可能感兴趣的:(Android 版本更新覆盖安装失败)