在Android studio 3.0中获取失败[INSTALL_FAILED_TEST_ONLY:installPackageLI]

时间:2018-01-20 05:36:25

标签: android android-studio apk

根据CommonsWare的blogpostAndroidManifest.xml文件可以具有android:testOnly属性。

在我的AndroidManifest.xml中,它被设为“false”

android:testOnly="false"

我正在使用“Build APK(s)”菜单选项生成apk文件,如下图所示

enter image description here

当我尝试从命令行安装app时,adb install -r myapp.apk,我仍然收到错误,

  

失败[INSTALL_FAILED_TEST_ONLY:installPackageLI]

Android工作室版如下, enter image description here

我还应该做些什么让我的应用程序运行?

5 个答案:

答案 0 :(得分:16)

您还可以使用以下命令:

adb install -r -t myapp.apk

对我有用:

PS C:\Users\languoguang> adb -P 12345 install -r D:\GreeneTrans\HelloWorld-signed.apk
adb: failed to install D:\GreeneTrans\HelloWorld-signed.apk: Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]
PS C:\Users\languoguang> adb -P 12345 install -t D:\GreeneTrans\HelloWorld-signed.apk
Success
PS C:\Users\languoguang> adb -P 12345 install -r -t D:\GreeneTrans\HelloWorld-signed.apk
Success
PS C:\Users\languoguang>

答案 1 :(得分:3)

解决方案1 ​​

单击包含您的配置的下拉菜单,然后选择Edit Configurations…

Edit Configurations…

选择“常规”标签,然后将-t添加到Install Flags字段中。点击确定。

Install Flags

现在再次启动应用程序,它应该可以工作。

解决方案2

  

这意味着,共享应用程序具有一些测试包,因此   除非已将其删除并重新编译源代码,否则您不会   能够安装这个apk。但是adb命令提供了一个标志“ -t”   您可以使用它来安装带有测试包的应用。

$ adb install -r -t YourAndroidApp.apk
2566 KB/s (7266004 bytes in 2.764s)
Success

解决方案3

如果将项目从存储在其他目录中的另一台计算机上移出,则可能会发生此错误。解决此问题的方法:Clean the project,然后重新构建。

解决方案4

转到“ Settings”->“ Build, execution, deployment”,然后将“ instant run禁用为热插拔代码…”

解决方案5 将此行添加到gradle.properties

android.injected.testOnly = false

答案 2 :(得分:1)

如果您真的希望能够从Android Studio中生成的APK中删除测试标记,可以尝试将以下内容添加到gradle.properties文件中:

  

android.injected.testOnly = false

答案 3 :(得分:1)

只需使用以下命令:

adb install -t app/build/outputs/apk/debug/app-debug.apk

您不需要使用-r,-r表示重新安装现有应用,并保留其数据。

  

安装应用程序您可以使用adb在模拟器上安装APK或   使用安装命令连接设备:

     

adb安装path_to_apk

     

在安装操作系统时,必须在安装命令中使用-t选项。   测试APK。有关更多信息,请参见-t。

https://developer.android.com/studio/command-line/adb#move

  

-t:允许安装测试APK。当您仅运行或调试应用程序或使用Android Studio时,Gradle会生成测试APK   生成>生成APK命令。如果APK是使用开发人员构建的   预览SDK(如果targetSdkVersion是字母而不是数字),   如果您是,则必须在安装命令中包含-t选项   安装测试APK。

https://developer.android.com/studio/command-line/adb#-t-option

或者您可以使用与单击“在Android Studio中运行”相同的命令

adb push {project dir}/app/build/outputs/apk/debug/app-debug.apk /data/local/tmp/{appId}

adb shell pm install -t /data/local/tmp/{appId}

appId是在app / build.gradle中定义的。

defaultConfig {
    applicationId appId

现在,该应用已从设备本地安装 启动第一个活动。

adb shell am start -n "{package name}/{package name}.splash.SplashActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
  

2019-11-13 13:43 Gradle同步开始

     

13:44项目设置开始

     

13:44执行任务:[:app:generateDebugSources,   :vplus_explore:generateDebugSources,   :vplus_uibase:generateDebugSources,   :vplus_widget:generateDebugSources,   :vplus_runtime:generateDebugSources,   :vplus_cards:generateDebugSources,   :vplus_launcher:generateDebugSources,   :vplus_settings:generateDebugSources,   :vplus_transactions:generateDebugSources,   :vplus_payment:generateDebugSources,   :vplus_common:generateDebugSources,   :vplus_account:generateDebugSources,   :vplus_commonres:generateDebugSources,   :vplus_bootstrap:generateDebugSources,   :vplus_logger:generateDebugSources]

     

13:44 Gradle同步在27 s 126 ms中完成

     

13:44 Gradle构建在4 s 666 ms中完成

     

13:45 *守护程序未运行;从tcp:5037开始

     

13:45 *守护程序成功启动

     

13:45执行任务:[:app:assembleDebug]

     

13:46 Gradle构建在33秒640毫秒内完成

答案 4 :(得分:0)

如果您想手动安装 APK 或使用以下 adb 命令将其交给他人进行手动安装,那么您应该只从菜单栏 -> 构建 -> 构建包/APK 构建 APK。

 adb install -r xyz.apk

请勿点击播放按钮,因为它构建 APK 仅用于测试目的。单击播放按钮会覆盖默认位置的 APK,然后可以仅使用以下命令手动安装。

adb install -r -t xyz.apk