- 简介
android实现版本更新时,必须打包成apk进行测试,不可以直接运行到手机调试,因为运行时的key是debug环境的,而打包后是release包,也可以直接用adb安装,上线必须都是打包release环境 - 覆盖安装失败原因可能有以下几种:
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/