变体调试没有类型为INSTANT_RUN_MERGED_MANIFESTS的输出

hb0*_*hb0 8 android android-testing gradle-android-test-plugi android-studio-3.0 android-gradle-3.0

我想做什么和问题

我将Android Studio和Android Gradle Plugin更新为3.0.0,将Gradle Wrapper更新为4.2.1,并希望通过IDE在设备上构建和部署我的Android Gradle项目.

  • 建设成功
  • 当我尝试将我的:app模块部署到连接的设备时,我收到错误:

    错误:配置项目':integration-test'时出现问题.变体'debug'没有类型'INSTANT_RUN_MERGED_MANIFESTS'的输出

项目详情(简化)

该项目包括:

  • a :库模块
  • an :app模块,用于构建应用程序的apk并使用:library模块
  • an :集成测试模块:
    • 使用"com.android.test"插件
    • 依赖于:app模块通过targetProjectPath':app'和targetVariant'debug'
    • 并包含:app功能的检测测试
    • 只包含一个'main'文件夹(测试插件不支持其他文件夹)

settings.gradle

include :library
include :app
include :integration-test
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.domain.integration_test">

<!-- from https://stackoverflow.com/questions/45631959/how-to-place-android-instrumentation-test-files-outside-of-project-directory -->
<!-- Specify runner and target application package -->
<instrumentation
    android:name="android.support.test.runner.AndroidJUnitRunner"
    android:functionalTest="false"
    android:handleProfiling="false"
    android:label="Tests for com.domain.pro.client"
    android:targetPackage="com.domain.pro.client"/>

<application>
    <uses-library android:name="android.test.runner" />
</application>
Run Code Online (Sandbox Code Playgroud)

上次它的工作原理是: - Build Tools 2.2.3,Gradle 3.4.1和Android Studio 2.3.3

有没有人使用com.android.test插件(使用AndroidManifest文件)与Android Gradle Plugin 3.0.0一起运行(集成 - )测试模块?如果是这样,你会提供一个我可以用来修复我的设置的样本吗?

ave*_*yne 6

转到Android Studio>首选项>即时运行>取消选中"启用即时运行..."