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

时间:2017-10-26 15:08:00

标签: android android-testing android-studio-3.0 android-gradle-3.0 gradle-android-test-plugi

我想做什么&问题

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

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

      

    错误:配置项目':integration-test'时出现问题。   变体'调试'没有类型' INSTANT_RUN_MERGED_MANIFESTS'

    的输出

项目详情(简化)

该项目包括:

  • :图书馆模块
  • :app模块,用于构建应用程序的apk并使用:library module
  • :集成测试模块,其中:
    • 使用" com.android.test"插件
    • 依赖于:app模块通过targetProjectPath':app' &安培; targetVariant' debug'
    • 并包含:app functions
    • 的检测测试
    • 只包含一个' main'文件夹(测试插件不支持其他人)

settings.gradle

include :library
include :app
include :integration-test

的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>

上次工作时间是: - Build Tools 2.2.3,Gradle 3.4.1和Android Studio 2.3.3

问题

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

2 个答案:

答案 0 :(得分:6)

转到Android Studio&gt;偏好&gt;即时运行&gt;取消选中&#34;启用即时运行...&#34;

答案 1 :(得分:1)

由Change-Id修正:I443aa157de5f9f49441e61f26f52d0176e44502d

修正了Android Studio 3.1 canary 6 +

如果问题仍然存在,请在Google issue tracker报告,然后重新审核。