2015-11-15 15 views
15

Ich mache meine erste Android Wear-App, aber ich kann nicht Android Studio arbeiten. Zuerst bekam ich den FehlerGradle Fehler: Konfiguration erklärt Abhängigkeit, die nicht erklärt wird

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

Dies wird durch Zugabe von "include ':wear" in settings.gradle gelöst wurde.
Aber dann ein neuer Fehler auf:

"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" . 

Was kann ich diesen Fehler zu tun haben, zu lösen?

Nur für den Fall ist es erforderlich: hier ist 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' 
+0

Bitte fügen Sie Ihre build.gradle hier tragen von. – starkshang

+0

Android Studio hat keine Build.gradle für Verschleiß.Es hat nur Einstellungen vorgenommen.Gradle, die oberste Ebene build.gradle und mobile build.gradle –

+0

Hallo, ich bekomme Problem wie folgt. "Fehler: Beim Konfigurieren des Projekts ist ein Problem aufgetreten: app '. > Konnte nicht alle Abhängigkeiten für die Konfiguration auflösen': app: _debugApk '. > Projekt: app deklariert eine Abhängigkeit von Konfiguration' kompilieren 'zu Konfiguration' Standard ', was nicht der Fall ist im Deskriptor für das Projekt deklariert: linkedin-sdk. " – Naveen

Antwort

37

In Android Studio 3.0 die Dokumentation für Migrate to the New Plugin sagt:

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' 
} 

So dies ändern

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

dazu

implementation project(':foo') 
+3

Ich erhalte folgenden Fehler Fehler: (151, 1) Beim Evaluieren des Projekts ': app' ist ein Problem aufgetreten. > Die Methode implementation() für die Argumente [project ': xyz'] für das Objekt des Typs org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler konnte nicht gefunden werden. – Manish

+0

@Manish benötigen Sie mindestens Android Studio 3.0.0, um die implementation() -Methode zu verwenden. Es ist noch nicht in AS 2.3.3/Produktion verfügbar. – Aceofspadez44

+0

Ich bin in Android 3, dasselbe Problem. Fehler: (225, 0) Die Methode implementation() für die Argumente [project ': commons'] für das Objekt org.gradle.api.internal.artifacts.dsl.depencendens.DefaultDependencyHandler konnte nicht gefunden werden. – StarWind0

6

Error:Module version Test2:mobile:unspecified, configuration 'wearApp' declares a dependency on configuration 'default'

Es bedeutet, dass ein Modul (wearApp in Ihrem Fall) nicht über ein build.gradle Datei oder eine richtige Konfiguration in der build.gradle Datei.

Da Sie ein Modul in settings.gradle definieren, müssen Sie ein build.gradlefür jedes Modul bereitstellen.

In Ihrem Fall:

root 
|-- mobile 
|----build.gradle 
|-- wear 
|----build.gradle 
|--build.gradle 
|--settings.gradle 
+0

Was ist, wenn das Modul eine externe Bibliothek ist, die Java-Dateien enthält? Ich habe dieselben Schritte ausgeführt, aber immer noch den gleichen Fehler. Fehler: Projekt: app deklariert eine Abhängigkeit von Konfiguration 'kompilieren' zu Konfiguration 'Standard', die nicht im Deskriptor für Projekt: recognito deklariert ist. Link zur Bibliothek möchte ich https://github.com/amaurycrickx/recognito i Änderungen build.gradle – UrviG

+0

in meinem Fall settings.gradle und App gemacht aufzunehmen, ich habe ein git Submodul Credential Probleme hatte Zugriff, somit war der Inhalt des Moduls leer. Vielen Dank! – Maragues

2

Wenn Sie nicht Android Studio 3.0 verwenden, funktioniert dies für mich, in Ihrem build.gradle lib:

publishNonDefault wahr

wie diese

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

    [...] 
} 

Und in Ihrem einschließlich build.gradle:

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

Ich verwende ionische Cordov a zum Erstellen meiner App, in meinem Fall wurde die Datei build.grade jedes Mal aktualisiert, ich muss die Datei "app_path> node_modules \ cordova-android \ bin \ templates \ cordova \ lib \ builders \ GradleBuilder.js" ändern von:

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); 

zu:

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

Werke für mich