IllegalStateException:预期的配置':module:debugFeatureCompileClasspath'只包含一个文件,但它包含2个文件

时间:2018-05-16 04:36:07

标签: android kotlin android-instant-apps android-wear-2.0

我正在使用即时应用程序和佩戴app的多功能Android应用程序。我能够 成功运行我的应用程序 ,但在 <期间遇到以下错误em>构建APK或重建项目

java.lang.IllegalStateException: Expected configuration ':module1:debugFeatureCompileClasspath' to contain exactly one file, however, it contains 2 files.
at org.gradle.api.internal.file.AbstractFileCollection.getSingleFile(AbstractFileCollection.java:62)
at com.android.build.gradle.tasks.MergeManifests.doFullTaskAction(MergeManifests.java:116)
at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)

我的项目有3-4个模块和一个基础模块项目。 我已经集成了多功能即时应用程序的所有设置,根据谷歌提供的样本。 https://github.com/googlesamples/android-instant-apps/tree/master/multi-feature-module

我有一个模块( apimodule ),其中我添加了所有库和API依赖项。以下是我的项目依赖关系结构。

  1. 的AppModule
  2. 将所有模块添加为实现

    implementation project(':base')
    implementation project(':module1')
    implementation project(':module2')
    implementation project(':module3')
    wearApp project(':wear')
    
    1. BaseModule(还添加了application project(':app')
    2. 在gradle中添加baseFeature true

      feature project(':module1')
      feature project(':module2')
      feature project(':module3')
      api project(':apimodule')
      

      3。 apimodule

      在gradle中添加baseFeature true

      这是我的一个module1 gradle文件。

      apply plugin: 'com.android.feature'
      
      apply plugin: 'kotlin-android'
      
      apply plugin: 'kotlin-android-extensions'
      
      android {
          compileSdkVersion 26
          defaultConfig {
              minSdkVersion 23
              targetSdkVersion 26
              versionCode 1
              versionName "1.0"
              testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
          }
          buildTypes {
              release {
                  minifyEnabled false
                  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
              }
          }
      }
      
      dependencies {
          implementation fileTree(dir: 'libs', include: ['*.jar'])
          implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
          implementation project(':base')
          testImplementation 'junit:junit:4.12'
          androidTestImplementation 'com.android.support.test:runner:1.0.1'
          androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
      
      }
      

1 个答案:

答案 0 :(得分:2)

根据我的问题,我在两个gradle文件中添加了baseFeature true。其中一个基本模块 gradle和一个 API模块 gradle和API模块作为基础模块中的依赖项目添加。

我所做的是将 API模块的所有代码重构为基本模块,并仅使用baseFeature true制作一个基本模块

这只是解决了我的问题。