本文主题主要解决平时开发同事,给客户发送debug模式的APK安装包,导致客户无法安装应用问题。
apk打包时分俩种模式:release模式发布版本, debug模式 测试程序。俩这区别在此就不过多讲解。
解决办法:
1、对于客户:大部分android 设备 可以通过 adb install -t <apk>的方式安装debug模式包。其他方式不能安装,如:直接复制到SD中安装 会提示“安装包已损坏”等提示,使用adb install 会提示:
Failed to install app-debug.apk: Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]。
2、对于研发:在gradle.properties文件中添加 android.injected.testOnly = false 该方式可以解决 debug无法安装问题。建议需要大量测试确认的项目加入此配置。
原因:Android studio 3.0及以上版本默认添加了android:testOnly="true" 属性,这个属性导致只能从IDE运行安装debug APK。加入原因:此属性表明此应用程序仅作为测试目的,可能会暴露数据
和存在安全问题。
参考资料:https://gist.github.com/xujiaao/5fd127a72979cdc3c70dcc1324786f87
https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html