IllegalStateException: Ожидаемая конфигурация ': module: debugFeatureCompileClasspath' должна содержать ровно один файл, однако она содержит 2 файла - PullRequest
0 голосов
/ 16 мая 2018

Я работаю с многофункциональным приложением для Android с мгновенным приложением и приложением износа. Здесь я могу успешно запустить мое приложение , но получаю следующую ошибку во время Building 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 модулей и одного базового модуля проектов.Я уже интегрировал все настройки для многофункционального мгновенного приложения в соответствии с примером, предоставленным Google.https://github.com/googlesamples/android-instant-apps/tree/master/multi-feature-module

У меня есть один модуль ( apimodule ), в который я добавил все библиотеки и зависимости API.Ниже приведена структура зависимостей моего проекта.

  1. AppModule

Добавлен весь модуль в качестве реализации

implementation project(':base')
implementation project(':module1')
implementation project(':module2')
implementation project(':module3')
wearApp project(':wear')
BaseModule (также добавлено application project(':app'))

Добавлено baseFeature true в Gradle

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

3.apimodule

Добавлено baseFeature true в Gradle

Вот мой единственный файл модуля module1.

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 голосов
/ 17 мая 2018

По моему вопросу я добавил baseFeature true в двух файлах Gradle. Один из базового модуля gradle и один API-модуль gradle и API-модуль добавлены в качестве проекта зависимостей в базовый модуль.

Я выполнил рефакторинг всего кода модуля API в базовый модуль и сделал только один базовый модуль с baseFeature true.

Это единственный случай, решивший мою проблему.

...