android - failed - Error de Gradle: la configuración declara la dependencia que no está declarada
gradle project sync failed (3)
Error: versión del módulo Test2: móvil: no especificado, la configuración ''wearApp'' declara una dependencia en la configuración ''predeterminada''
Significa que un módulo (wearApp en su caso) no tiene un archivo build.gradle
o una configuración correcta dentro del archivo build.gradle
.
Como define un módulo en settings.gradle
, debe proporcionar un build.gradle
para cada módulo .
En tu caso:
root
|-- mobile
|----build.gradle
|-- wear
|----build.gradle
|--build.gradle
|--settings.gradle
Estoy haciendo mi primera aplicación de Android, pero no puedo hacer que Android Studio funcione. Primero recibí el error
"Project with path '':wear'' could not be found in project '':mobile''.
Esto se resolvió agregando "include '':wear"
en settings.gradle
.
Pero luego ocurre un nuevo error:
"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" .
¿Qué debo hacer para resolver ese error?
En caso de que sea necesario: aquí está 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''
En Android Studio 3.0, la documentación para Migrar al nuevo complemento dice:
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''
}
Entonces cambia esto
debugCompile project(path: '':foo'', configuration: ''debug'')
releaseCompile project(path: '':foo'', configuration: ''release'')
a esto
implementation project('':foo'')
Si no está usando Android Studio 3.0, esto funcionó para mí, en su build.gradle lib:
publishNonDefault verdadero
Me gusta esto
android {
compileSdkVersion maxApiLevel.toInteger()
buildToolsVersion androidBuildToolsVersion
publishNonDefault true
[...]
}
Y en su include build.gradle:
dependencies {
debugCompile project(path: '':foo'', configuration: ''debug'')
releaseCompile project(path: '':foo'', configuration: ''release'')
}