IntelliJ 2017.3和android中的即时运行:testOnly=";“真的”;使其无法在模拟器上运行apk

IntelliJ 2017.3和android中的即时运行:testOnly=";“真的”;使其无法在模拟器上运行apk,android,intellij-idea,android-instant-run,Android,Intellij Idea,Android Instant Run,当我试图在x86仿真器上从IDE运行我的应用程序时,我收到一个错误消息“application Installation Failed” Failed to finalize session: INSTALL_FAILED_TEST_ONLY: installackageLI 据我所知,此错误是因为Android Studio在所有调试版本上自动添加了Android:testOnly=“true”manifest属性,这需要adb install使用-t标志来安装apk。但是,从IDE本身运行

当我试图在x86仿真器上从IDE运行我的应用程序时,我收到一个错误消息“application Installation Failed”

Failed to finalize session: INSTALL_FAILED_TEST_ONLY: installackageLI
据我所知,此错误是因为Android Studio在所有调试版本上自动添加了
Android:testOnly=“true”
manifest属性,这需要
adb install
使用
-t
标志来安装apk。但是,从IDE本身运行时不需要此标志

如果我在构建配置的
安装标志
中添加
-t
标志,则可以安装apk,尽管只有在禁用即时运行的情况下(并且只有在以前启用的情况下执行干净构建的情况下),才能安装apk。即使包含
-t
标志,重新启用即时运行也会产生相同的错误

更新:

只有在使用android gradle插件版本3.0.0时,才会出现上述情况

当我恢复到2.3.0版本时,问题就消失了

更新2:

这与IntelliJ IDE有关

Android Studio 3.0与我的配置配合得很好


请参阅帖子中的答案。

您到底是如何安装此APK的?直接从IDE运行应用程序(例如,工具栏中的三角形运行按钮)应该可以正常运行。
-t
用于手动安装由Run生成的APK。正如您所描述的,我正在IDE中运行它。它只有在我添加
-t
并禁用我上面写的instant run时才会安装。instant run适用于成千上万的开发人员,无需手动调整内容。。。在安卓工作室。我不知道stock IntelliJ idea的情况如何。我认为Gradle 3.3.0没有Android插件。至少,如果我试图在项目的顶级
build.gradle
文件中定义
classpath'com.android.tools.build:gradle:3.3.0'
,它不存在,也不起作用。您对问题的编辑引用了
3.3.0
,而不是
3.0.0
。无数开发人员正在Android Studio上使用Gradle 4.1的Instant Run和Gradle 3.0.0(或3.0.1)的Android插件。您到底打算如何安装此APK?直接从IDE运行应用程序(例如,工具栏中的三角形运行按钮)应该可以正常运行。
-t
用于手动安装由Run生成的APK。正如您所描述的,我正在IDE中运行它。它只有在我添加
-t
并禁用我上面写的instant run时才会安装。instant run适用于成千上万的开发人员,无需手动调整内容。。。在安卓工作室。我不知道stock IntelliJ idea的情况如何。我认为Gradle 3.3.0没有Android插件。至少,如果我试图在项目的顶级
build.gradle
文件中定义
classpath'com.android.tools.build:gradle:3.3.0'
,它不存在,也不起作用。您对问题的编辑引用了
3.3.0
,而不是
3.0.0
。无数开发人员正在Android Studio上使用Gradle 4.1的Instant Run和Gradle 3.0.0(或3.0.1)的Android插件。