Android打包另类问题 MisterBlank 2020-03-23 145 阅读1分钟 今天遇到的问题,内容来源于网络,记录一下。 运行之后产生的包发给别人安装不了 解决方案 在gradle.properties添加android.injected.textOnly=false即可 原理 AS Run 出来的 Apk,之所以无法安装,是因为其携带了 FLAG_TEXT_ONLY 这个 Flag,它会阻止我们使用正常的方式安装。想要安装,可以通过 adb install -t来解决。 虽然这个Flag 初始于 API Level 4,但是它在 AS 3.0中,才被默认加入。想要去掉可以通过增加android.injected.textOnly=false 来实现。 正式包和测试包由于包名相同不能同时安装到同一个手机上 正式包的环境和测试包的环境是不一样的,有的时候正式包和测试包都会出现问题,这个时候,来回安装太浪费时间了 解决方案 在 app下的build.gradle 的 android➡buildTypes➡debug 节点下面设置 applicationIdSuffix 即可 android { // ... buildTypes { debug { buildConfigField "String", "HOST", "\"http://IP:端口\"" minifyEnabled false applicationIdSuffix ".test" // 测试包增加包名后缀 } release { // ... buildConfigField "String", "HOST", "\"http://IP:端口\"" } } //... } 原理 就是修改了包名(applicationId)