ITmob-Ly
发布于 2023-12-07 / 118 阅读
0

Android Exception - adb: failed to install : Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]

异常信息

使用 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