Android Studio 3.0 Erreur. Migrer de dépendance configurations de modules locaux
J'ai récemment installé la dernière Canary build d'Android Studio, qui est actuellement à l'aide de l'Android plugin Gradle 3.0.0-alpha4 .
Maintenant, je reçois une erreur:
Error:Failed to resolve: Could not resolve project :MyLib.
Required by:
project :app
J'ai a lire: Migrer de dépendance configurations de modules locaux
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' }
J'ai changé:
releaseCompile project(path: ':MyLib', configuration: 'appReleaseApp')
debugCompile project(path: ':MyLib', configuration: 'appDebug')
à:
implementation project(':MyLib')
mais j'ai toujours cette erreur: Error:Failed to resolve: Could not resolve project :MyLib.
lib gradle:
apply plugin: 'com.android.library'
android {
publishNonDefault true
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
minSdkVersion 14
targetSdkVersion 25
}
buildTypes {
debug {
...
}
releaseApp {
...
}
releaseSdk {
...'
}
}
flavorDimensions "default"
productFlavors {
flavor1{
...
flavor2{
...
}
flavor3{
...
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.google.code.gson:gson:2.8.0'
compile 'com.google.android.gms:play-services-maps:10.2.6'
compile 'com.google.android.gms:play-services-gcm:10.2.6'
compile 'com.google.android.gms:play-services-location:10.2.6'
}
apply plugin: 'maven'
uploadArchives {
repositories {
mavenDeployer {
repository(url: mavenLocal().url)
}
}
}
application gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
minSdkVersion 19
targetSdkVersion 25
versionCode 12
versionName "5.0.2"
}
buildTypes {
release {
...
}
debug {
...
}
}
flavorDimensions "default"
productFlavors {
flavor1 {
...
}
flavor2 {
...
}
}
testOptions {
unitTests {
all {
jvmArgs '-noverify'
systemProperty 'robolectric.logging.enable', true
}
}
}
}
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
// releaseCompile project(path: ':MyLib', configuration: 'appRelease')
// debugCompile project(path: ':MyLib', configuration: 'appDebug')
implementation project(':MyLib')
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.google.android.gms:play-services-maps:10.2.6'
compile 'com.google.android.gms:play-services-location:10.2.6'
compile 'com.google.android.gms:play-services-analytics:10.2.6'
compile 'com.google.android.gms:play-services-gcm:10.2.6'
compile 'com.google.code.gson:gson:2.8.0'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:gridlayout-v7:25.3.1'
compile 'com.android.volley:volley:1.0.0'
compile 'com.facebook.stetho:stetho:1.4.1'
compile 'com.facebook.stetho:stetho-okhttp3:1.4.1'
compile 'com.android.support:percent:25.3.1'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.squareup.picasso:picasso:2.5.2'
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:2.1.0'
testCompile 'org.robolectric:robolectric:3.1.4'
testCompile 'org.assertj:assertj-core:1.7.1'
compile 'com.flipboard:bottomsheet-core:1.5.0'
compile 'com.flipboard:bottomsheet-commons:1.5.0'
compile 'com.android.support.constraint:constraint-layout:1.0.1'
}
apply plugin: 'com.google.gms.google-services'
S'il vous plaît aider
- Avez-vous remplacé toutes les dépendances à l'intérieur de MyLib? compiler -> api fournie -> compileOnly. et compiler -> mise en application du module (pour toutes les autres dépendances). La vérité d'être dit, de compiler et d'fournis sont toujours pris en charge, vous ne savez pas si cela aide. J'ai mis à jour plugin gradle ce matin et il a travaillé avec réglage ci-dessus.
- j'ai remplacé compiler -> api, je suis la même erreur. Même si je viens de supprimer toutes les dépendances dans MyLib, l'app ne peut toujours pas résoudre projet :MyLib
- Peut-être que Ce serait utile si vous pouviez poster les gradle fichiers, dur à deviner à l'aveugle. J'ai également supprimé retrolambda, l'augmentation de sourceCompatibility de java8..
- je n'utilise pas retrolambda...
- Exactement le même problème ici. aucune idée de comment le résoudre.
- Même problème. Incapable d'aller plus loin
- comment résoudre ce problème ? une idée ?
Vous devez vous connecter pour publier un commentaire.
Google a ajouté plus d'instructions sur la façon de le résoudre: Résoudre construction d'erreurs liées à la dépendance correspondant
Cause de l'erreur de construction:
Votre application inclut un type de construction que d'une dépendance de bibliothèque n'a pas d'.
Résolution
Utilisation matchingFallbacks pour spécifier d'autres matches pour un type de build, comme indiqué ci-dessous:
Après avoir fait face à la même question, j'ai finalement déclaré exactement le même buildTypes dans l'App et des Modules de construire.gradle fichiers.
Dans votre cas, l'ajout de
à votre module de construire.gradle devrait faire l'affaire.
Assurez-vous de changer tout "de la compilation du projet" à "la mise en œuvre du projet" trop.
Espère que cela aide
Avec le nouveau plugin, la variante-courant de la résolution des dépendances
besoin d'avoir de correspondance exacte des types de builds. Le guide de migration décrit ce
Ainsi, la vieille méthode de
ne fonctionnera plus.
Exemple
Avec votre exemple, ce serait ressembler à ceci:
En application
build.gradle
:Dans le module/lib 'MyLib'
build.gradle
:Par conséquent, le type de construction doit exactement match, pas plus pas moins.
À L'Aide De L'Accumulation De Type De Base
Une nouvelle fonctionnalité appelée "matchingFallbacks" peut être utilisé pour définir par défaut buildtypes si un sous-module n'a pas de définition de la buildtype.
Par exemple si le module/lib 'MyLib' gradle devrait ressembler à ceci:
Vous pouvez définir les éléments suivants dans votre application
build.gradle
:Manquant De Saveur Dimensions
J'ai été confrontée au même problème, j'ai trouvé cette page de migration:
Construire correspondance des types
Il déclare:
Ajoutant buildTypeMatching fixe pour moi sans créer d'inutiles types dans ma bibliothèque
Aujourd'hui, j'ai aussi eu le même problème après la migration vers Android Studio 3.
Le problème est le gradle est pas en mesure de résoudre certains des bibliothèques en raison de problème de réseau. Les raisons peuvent être diverses.
Si vous travaillez derrière le proxy, vous devez ajouter les paramètres du proxy dans gradle.fichier de propriétés:
Dans mon cas, j'avais encore une question. Mon entreprise utilise le certificat SSL auto-signé de sorte que la connexion SSL avait un problème. Si la même chose s'applique aussi pour vous, vous pouvez définir le paramètre à nouveau dans gradle.fichier de propriétés comme suit:
Pour être plus clair, vous pouvez cliquer sur "Afficher les détails" lien dans les messages de log dans Android Studio. Ce journal sera plus utile à décider ce qui est le vrai problème.
Cette solution a fonctionné pour moi. Je suis à l'aide d'Android Studio 3.1.2. Android plugin Gradle 3.1.2. Gradle 4.4. J'ai un module de la bibliothèque, avec des saveurs telles que
trial
etpremium
. Dans le cadre du processus de migration vers Android plugin Gradle 3.1.2 j'ai ajouté une saveur dimension demain
à mon module de la bibliothèque du fichier de build gradle. Pour corriger l'erreur de build, donc dans mon applicationbuild.gradle
fichier, j'ai changé le suivant:est devenu
et j'ai ajouté la ligne suivante à mon
defaultConfig
bloc:missingDimensionStrategy 'main', 'premium'