我在安装apk到我的设备时遇到了问题。
adb install <.apk>
使用上述命令将返回以下内容:
5413 KB/s (99747 bytes in 0.017s)
pkg: /data/local/tmp/AppClient.TestOnly.App3.apk
Failure [INSTALL_FAILED_TEST_ONLY]
你有什么想法导致这个问题出现?
它确实识别了设备。这可能是apk的问题吗?
我在安装apk到我的设备时遇到了问题。
adb install <.apk>
使用上述命令将返回以下内容:
5413 KB/s (99747 bytes in 0.017s)
pkg: /data/local/tmp/AppClient.TestOnly.App3.apk
Failure [INSTALL_FAILED_TEST_ONLY]
你有什么想法导致这个问题出现?
它确实识别了设备。这可能是apk的问题吗?
看起来您需要修改AndroidManifest.xml
将android:testOnly="true"
更改为android:testOnly="false"
或删除此属性。
如果您想保留android:testOnly
属性为true
,则可以使用带有-t
选项的pm install
命令,但是您可能需要先将apk推送到设备上。
$ adb push bin/hello.apk /tmp/
5210 KB/s (825660 bytes in 0.154s)
$ adb shell pm install /tmp/hello.apk
pkg: /tmp/hello.apk
Failure [INSTALL_FAILED_TEST_ONLY]
$ adb shell pm install -t /tmp/hello.apk
pkg: /tmp/hello.apk
Success
我能够重现相同的问题并且上述解决方法可行。
如果你的APK文件在设备之外(在你的桌面上),那么下面的命令可以实现:
$ adb install -t hello.apk
我曾经在使用Android Studio 3.0.0 Beta 7时遇到类似的问题,无法再将应用程序发布到Play商店了。
如此说道:https://developer.android.com/studio/run/index.html
请注意:运行按钮会构建一个带有testOnly =“true”的APK文件,这意味着该APK文件只能通过adb(Android Studio使用)安装。如果您想要一个可调试的APK文件,用户可以在没有adb的情况下安装,请选择您的调试版本并单击Build > Build APK(s)。
对于发布版本同样适用,在Android Studio 3
中,您需要转到Build > Build APK(s)
来生成一个不可测试的发布APK文件,以便您可以提交到商店。
-t
安装标志,如下图所示:
-t
是什么意思。 - rmtheis在我的情况下,这个错误是因为使用了不稳定的Gradle版本。只需使用稳定版本的Gradle(不是alpha版,甚至不是beta版),问题就得到解决了。
经过一整天的搜索和浏览,唯一有效的方法是添加
android.injected.testOnly=false
至 gradle.properties 文件
我同意Elisey的观点。在使用2.4预览版打开项目后,然后又在android studio 2.3中打开同一个项目,我也遇到了相同的错误。
通过更改build.gradle文件中的这一行代码来解决了这个问题:
classpath 'com.android.tools.build:gradle:2.4.0-alpha5'
到
classpath 'com.android.tools.build:gradle:2.3.1'
"allowTestPackages": "true"
指定给您的e2e方案功能。 - Joshua Pinterconfig.allowTestPackages = true
。请注意,这仅适用于使用Appium进行端到端测试的情况。 - Joshua PinterAndroid Studio 3.0生成了仅测试的APK。
我通过向Android清单文件的添加"android:testOnly"属性来解决了此问题。
<application
.....
android:testOnly="false"
android:theme="@style/AppTheme">
然后通过Android Studio 3.0 菜单: Build-->Build APK(s)生成APK文件。
更多信息: https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html
将此行添加到您的 'gradle.properties' 中
android.injected.testOnly=false
-t
命令行选项即可。adb install -t .\app-debug.apk
adb push bin/hello.apk /tmp/
对我来说不起作用,但是adb push ./debug.apk /sdcard/temp/debug.apk
起作用了。 - HendraWDadb install -t app/build/outputs/apk/usUnitedStates/debug/app-usUnited-debug.apk
对我有效。 - Sulav Timsina-f:将软件包安装在内部系统存储器上。
- Julianandroid:testOnly="true"
只在 build/intermediates/**/AndroidManifest.xml 文件中设置。因此,在第一种情况下我从未添加该标志。 - Martin