项目场景:
调试应用,安装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.xml 中修改android:testOnly="false" ,测试失败,在打包的时候仍然会将testOnly设置为true。
终极解决方案: 在Project的gradle.properties 中修改属性:
android.injected.testOnly=false
正常解决问题,查看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
|