异常信息
使用 adb 命令安装应用时,安装失败输出如下错误信息:
> adb install C:\Users\Downloads\itmob.cn.apk
Performing Streamed Install
adb: failed to install C:\Users\Downloads\itmob.cn.apk: Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]
异常原因:
这是因为安装的是测试 APK,这时使用 install
命令时必须使用 -t
选项:
adb install -t itmob.cn.apk
官方文档 有这样的描述:
Note: The Run button builds an APK with testOnly="true"
, which means the APK can only be installed via adb
(which Android Studio uses). If you want a debuggable APK that people can install without adb, select your debug variant and click Build Bundle(s) / APK(s) > Build APK(s).
点击运行按钮构建的 APK,Android Studio 默认会自动在 Manifest.xml 中增加 testOnly="true"
属性,这样它只能通过 adb install -t
来安装,不能将其发布到 Google Play。
android:testOnly
表示此应用是否仅用于测试目的。
例如,它可能会在自身之外公开功能或数据,这样会导致安全漏洞,但对测试很有用。此类 APK 只能通过 adb install -t
安装,您不能将其发布到 Google Play。
解决方法:
方法一:
使用 adb install -t demo.apk
安装测试应用。
方法二:
不直接通过 Run/运行 按钮编译应用,而是通过 通过 Build --> BUild Bundle(s) --> Build APK(s) 构建应用。
方法三:
修改 Gradle 的配置,在 gradle.properties 中添加 android.injected.testOnly=false