更新之后,打包APK想去发布,结果发现无法安装!
度娘了一下,大多数解决方式都是说 关闭 Instant Run 功能,试了试,然并卵。
后来发现打包出来的APK,里面的 manifest 文件的 testOnly 属性是true,去到项目里面看一下,发现没有设置这个属性,于是手动加上:
android:testOnly="false"
重新打包,结果还是一样,并没有任务影响到APK文件,设置无效。
查了一下,有很多因素可能会影响到这个属性的值,直接 Run 出来的包一定是true,使用了测试版的依赖包也可能会是true,那怎么才能打包成 false 的呢。有人说用build->build APK(s)来生成apk可以解决,试了一下,结果还是一样,而我本来就是使用 Generate Signed APK 打包的,也是一样,无法改变这个值。最后找到解决方法,在 gradle properties 文件里加上:
android.injected.testOnly=false重新打包APK,问题解决。