AndroidStudio INSTALL_FAILED_TEST_ONLY的原因

在使用Android Studio(AS)进行真机调试时遇到INSTALL_FAILED_TEST_ONLY错误,原因是debug包的AndroidManifest.xml中多了android:testOnly属性。解决办法是在项目的全局gradle.properties文件中添加配置:android.injected.testOnly=false。此设置可禁止AS自动添加testOnly属性,从而正常安装应用。

问题

AS进行真机调试时,安装时报INSTALL_FAILED_TEST_ONLY错误,上网搜索后发现是as3.0会在debug包的manifest文件application标签里自动添加 android:testOnly="true"属性

解决

在项目中的gradle.properties全局配置中设置:
android.injected.testOnly=false

参考博客

在使用ADB安装Android应用时遇到错误`INSTALL_FAILED_TEST_ONLY`,通常是由于应用被标记为仅用于测试(test-only),而目标设备不允许安装此类应用。以下是几种常见的解决方法: 1. **使用`-t`参数安装** 在执行`adb install`命令时,添加`-t`参数可以允许安装测试应用。例如: ```bash adb install -t app-debug_killer.apk ``` 这是最直接的解决方法,适用于大多数情况[^3]。 2. **修改Gradle配置** 如果你正在使用Android Studio进行开发,可以在`gradle.properties`文件中设置`android.enableJetifier=true`和`android.useAndroidX=true`,同时确保`android.testOnly=false`。这样可以避免生成的APK被标记为test-only。例如: ```properties android.enableJetifier=true android.useAndroidX=true android.testOnly=false ``` 这样配置后,重新构建APK并尝试安装[^3]。 3. **修改AndroidManifest.xml** 如果APK的`AndroidManifest.xml`文件中包含了`android:testOnly="true"`属性,可以将其修改为`android:testOnly="false"`或直接删除该属性。例如: ```xml <application android:allowBackup="true" android:icon="@drawable/app_icon" android:label="@string/app_name" android:testOnly="false"> <!-- 修改或删除这一行 --> </application> ``` 修改完成后,重新打包APK并尝试安装。 4. **使用非测试构建类型** 如果你使用的是Android Studio的Run按钮生成的APK,通常会被标记为test-only。为了避免这种情况,可以选择使用`Build > Build Bundle(s) / APK(s)`选项来生成正式版本的APK。例如: - 点击菜单栏中的`Build`。 - 选择`Build Bundle(s) / APK(s)`。 - 选择`APK`并等待构建完成。 - 使用生成的APK进行安装[^4]。 5. **检查设备制造商的限制** 某些国产手机厂商可能会对调试应用的安装进行限制。在这种情况下,确保你的应用不是调试版本,或者尝试在其他设备上安装以确认问题是否与特定设备有关[^3]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值