我在我的设备上安装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出了问题?


当前回答

Android studio 3.0只生成测试APK。

我已经通过添加“android:testOnly”属性到android manifest的标签解决了这个问题。

 <application
    .....
    android:testOnly="false"
    android:theme="@style/AppTheme">

然后通过Android studio3.0菜单生成APK:Build—>Build APK(s)。

更多信息: https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html

其他回答

添加-t install标志,如下面的截图所示:

从Android Studio构建你的发行版.apk,如下所示

构建—>构建Apk(s)(用于未签名的构建) 生成签名APK(用于签名构建)

这些选项使用android:testOnly="false"选项构建APK,允许您通过命令显式地将APK安装到设备中。

adb安装你的apk

在我的例子中是通过上传一个APK,虽然它是用生产证书签名的,并且是一个发布变体,但它是由Android工作室的运行播放按钮生成的。 从Gradle或Build APK菜单选项生成APK后问题解决。

如果你正在寻找一个不那么永久的解决方案,那么添加android.inject。testOnly=false到你的gradle。如果你不介意使用命令行,那么在安装之前执行以下两个命令即可:

rm -v **/build/**/AndroidManifest.xml
gradle build

Windows用户:从所有构建目录中删除所有AndroidManifest.xml。但不是从src目录,所以DEL /S不是最好的主意。

经过一整天的搜索和浏览,唯一的工作就是添加

android.injected.testOnly=false

去gradle。属性文件