web-dev-qa-db-ja.com

Gradleエラー:構成が宣言されていない依存関係を宣言しています

最初のAndroidアプリを着用していますが、Android Studioが動作していません。最初にエラーが発生しました。

 "Project with path ':wear' could not be found in project ':mobile'. 

これは、"include ':wear"settings.gradleを追加することで解決しました。
しかし、新しいエラーが発生します:

"Error:Module version Test2:mobile:unspecified, configuration 'wearApp' declares a dependency on configuration 'default' which is not declared in the module descriptor for Test2:wear:unspecified" .

このエラーを解決するにはどうすればよいですか?

必要な場合に備えて:build.gradleがあります:

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.verbraeken.joost.test2"
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    wearApp project(':wear')
    testCompile 'junit:junit:4.12'
    compile 'com.Android.support:appcompat-v7:23.1.1'
    compile 'com.google.Android.gms:play-services:8.3.0'
    compile 'com.Android.support:design:23.1.1'
}

settings.gradle:

include ':mobile'
include ':wear'
22

Android Studio 3.0 新しいプラグインへの移行 のドキュメント:

dependencies {
    // This is the old method and no longer works for local
    // library modules:
    // debugCompile project(path: ':foo', configuration: 'debug')
    // releaseCompile project(path: ':foo', configuration: 'release')

    // Instead, simply use the following to take advantage of
    // variant-aware dependency resolution. You can learn more about
    // the 'implementation' configuration in the section about
    // new dependency configurations.
    implementation project(':foo')

    // You can, however, keep using variant-specific configurations when
    // targeting external dependencies. The following line adds 'app-magic'
    // as a dependency to only the 'debug' version of your module.

    debugImplementation 'com.example.Android:app-magic:12.3'
}

これを変える

    debugCompile project(path: ':foo', configuration: 'debug')
    releaseCompile project(path: ':foo', configuration: 'release')

これに

    implementation project(':foo')
47
Jonas Borggren

エラー:モジュールバージョンTest2:mobile:unspecified、構成 'wearApp'は構成 'default'への依存関係を宣言しています

これは、モジュール(あなたの場合はwearApp)にbuild.gradleファイルまたはbuild.gradleファイル内の正しい構成がないことを意味します。

settings.gradleでモジュールを定義するため、build.gradleモジュールごとを指定する必要があります。

あなたの場合:

root
|-- mobile
|----build.gradle
|-- wear
|----build.gradle
|--build.gradle
|--settings.gradle
6

Android Studio 3.0を使用していない場合、build.gradle libでこれが機能しました:

publishNonDefault true

このような

Android {
    compileSdkVersion maxApiLevel.toInteger()
    buildToolsVersion androidBuildToolsVersion
    publishNonDefault true

    [...]
}

そして、あなたのinclude build.gradleで:

dependencies {
    debugCompile project(path: ':foo', configuration: 'debug')
    releaseCompile project(path: ':foo', configuration: 'release')
}
3
Blaaz

私はアプリをビルドするためにionic cordovaを使用しています。私の場合、build.gradeファイルは毎回更新されます。 "app_path> node_modules\cordova-Android\bin\templatesファイルを変更する必要があります\ cordova\lib\builders\GradleBuilder.js」から:

    console.log('Subproject Path: ' + p);
    var libName=p.replace(/[/\\]/g, ':').replace(name+'-','');
    depsList += '    debugCompile(project(path: "' + libName + '", configuration: "debug"))';
    insertExclude(p);
    depsList += '    releaseCompile(project(path: "' + libName + '", configuration: "release"))';
    insertExclude(p);

に:

    console.log('Subproject Path: ' + p);
    var libName=p.replace(/[/\\]/g, ':').replace(name+'-','');
    depsList += '    compile project(\'' + libName + '\')';
    insertExclude(p);

私のために働く

1
jacruz

トリックは次のとおりです。

dependencies {
    // If the main app and wearable modules have the same flavors,
    // the following configuration uses automatic dependency matching.
    wearApp  project(':wearable')
}

現在、フレーバーやタイプビルドを設定する必要はありません。Gradle3.0以降では、各フレーバーとbuildTypeを検索します。詳細: https://developer.Android.com/studio/build/gradle-plugin-3-0-0-migration#variant_dependencies

1
Leonardo Sapuy