2015-11-15 23 views
15

Tworzę swoją pierwszą aplikację na Androida, ale nie mogę uruchomić Android Studio. pierwsze mam błądBłąd gradle: konfiguracja deklaruje zależność, która nie jest zadeklarowana

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

zostało to rozwiązane przez dodanie "include ':wear" w settings.gradle.
Ale wtedy nowy błąd:

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

Co muszę zrobić, aby rozwiązać ten błąd?

Tylko w przypadku jest to potrzebne: oto 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

proszę wkleić build.gradle zużycia tutaj. – starkshang

+0

Android Studio nie tworzyło build.gradle na zużycie.To tylko wykonane settings.gradle, najwyższy poziom build.gradle i mobile build.gradle –

+0

Witam, otrzymuję problem w ten sposób. „Błąd: Wystąpił problem konfigurowania projektu«app» > Nie można rozwiązać wszystkie zależności do konfiguracji.«: App: _debugApk» > Project. Aplikacja deklaruje zależności od konfiguracji«kompilacji»do konfiguracji«domyślnie», który nie jest zadeklarowane w deskryptorze dla projektu: linkedin-sdk. " – Naveen

Odpowiedz

37

W Android Studio 3.0 Dokumentacja dla Migrate to the New Plugin mówi:

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

Więc to zmienić

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

tego

implementation project(':foo') 
+3

Otrzymuję następujący komunikat o błędzie Błąd: (151, 1) Wystąpił problem podczas oceniania projektu ": aplikacja". > Nie można znaleźć realizację() metoda argumentów [projektu „xyz”] na obiekcie typu org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. – Manish

+0

@Manish potrzebujesz minimum programu Android Studio 3.0.0, aby użyć metody implementation(). Nie jest jeszcze dostępny w AS 2.3.3/Production. – Aceofspadez44

+0

Jestem w Androidzie 3, ten sam problem. Błąd: (225, 0) Nie można znaleźć realizację() metoda argumentów [projektu 'commons'] na obiekcie typu org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. – StarWind0

6

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

Oznacza to, że moduł (wearApp w Twoim przypadku) nie mają build.gradle plik lub prawidłowa konfiguracja w pliku build.gradle.

Ponieważ definiujesz moduł w settings.gradle, musisz dostarczyć build.gradledla każdego modułu.

W twoim przypadku:

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

Co się stanie, jeśli moduł jest biblioteką zewnętrzną z plikami Java? Wykonałem te same czynności, ale nadal otrzymuję ten sam błąd. Błąd: Projekt: Aplikacja deklaruje zależności od konfiguracji „kompilacji” do „domyślnie” konfigurację, która nie została zgłoszona w deskryptorze dla projektu: recognito. Link do biblioteki chcę to https://github.com/amaurycrickx/recognito dokonaniu zmian settings.gradle i aplikacja build.gradle – UrviG

+0

w moim przypadku, miałem problemy z dostępem do poświadczeń submodule git, dlatego zawartość modułu była pusta. Dzięki! – Maragues

2

Jeśli nie używasz Android Studio 3.0, to pracował dla mnie, w build.gradle lib:

publishNonDefault prawda

jak ten

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

    [...] 
} 

iw swoim include build.gradle:

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

Używam ionic cordov a do budowy mojej aplikacji, w moim przypadku plik build.grade był aktualizowany za każdym razem, muszę zmienić plik "app_path> node_modules \ cordova-android \ bin \ templates \ cordova \ lib \ builders \ GradleBuilder.js" z:

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

do:

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

działa na mnie