The application could not be installed: INSTALL_FAILED_TEST_ONLY解决方案

项目场景:

调试应用,安装apk失败

Installation did not succeed.
The application could not be installed: INSTALL_FAILED_TEST_ONLY

List of apks:
[0] 'D:\develop\work\StarEra\arguesture\app\build\intermediates\apk\debug\Gesture-2022-05-05-debug.apk'
Installation failed due to: 'Failed to commit install session 457150119 with command cmd package install-commit 457150119. Error: INSTALL_FAILED_TEST_ONLY'
Retry
Failed to launch an application on all devices

测试手机:

  • 一加8t,Android 12,出现上述问题
  • Google Pixel, Android 11,无此问题

Android studio:小蜜蜂
在这里插入图片描述


问题描述

安装apk报如下错误:
在这里插入图片描述


原因分析:

android:testOnly:应用是否是为了测试,它可能向外暴露数据,引发安全漏洞。因此国内厂商的手机检测到这个属性为true,就不会允许应用安装。

验证:

新版本的Android studio打包的时候会默认将如下属性设置为true,将打包好的apk拖入Android studio,查看android:testOnly的值。

在这里插入图片描述

解决方案:

尝试过直接在AndroidManifest.xmlapplication节点上修改android:testOnly="false",测试失败,在打包的时候仍然会将testOnly设置为true。

终极解决方案:
在Project的gradle.properties中修改属性:

android.injected.testOnly=false
注意:发现有的手机单独配置android.injected.testOnly=false仍然不能安装,仍然报描述的错误

解决方式:把上述两种方式都给加上,就解决了。怀疑应该是有些手机需要用第一种修改AndroidManifest.xml方式解决,一些手机是在gradle.properties中增加属性解决。

正常解决问题,查看apk的清单文件,此时application节点已经无testOnly属性:
在这里插入图片描述

参考:

1、禁用 Android Studio 3.x 系列自带的 testOnly 属性,解决 debug 包安装失败的问题
2、通过Android Studio编译安装App报错INSTALL_FAILED_TEST_ONLY终极解决方案
3、The application could not be installed: INSTALL_FAILED_TEST_ONLY

猜你喜欢

转载自blog.csdn.net/u013855006/article/details/124590266