Μεταβαίνω στο Android studio 3.0. Έτσι, το έργο δεν μπορεί να μεταγλωττίσει μια ενότητα με το όνομα ":animator" και μου εμφανίζει αυτό το σφάλμα:
Error:Unable to resolve dependency for
':app@dexOptions/compileClasspath': Could not resolve project
:animators. <a
href="openFile:/home/mobilepowered/MobilePowered/MyInnovalee/trunk17-10-2017/app/build.gradle">Open
File</a><br><a href="Unable to resolve dependency for
':app@dexOptions/compileClasspath': Could not resolve project
:animators.">Show Details</a>
και η εμφάνιση λεπτομερειών δίνει αυτό το αρχείο καταγραφής :
Unable to resolve dependency for ':app@dexOptions/compileClasspath':
Could not resolve project :animators.
Could not resolve project :animators. Required by:
project :app
Unable to find a matching configuration of project :animators:
- Configuration 'debugApiElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'debug'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found compatible value 'java-api'.
- Configuration 'debugRuntimeElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'debug'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found incompatible value 'java-runtime'.
- Configuration 'releaseApiElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'release'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found compatible value 'java-api'.
- Configuration 'releaseRuntimeElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'release'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found incompatible value 'java-runtime'.
Όπως αναφέρεται στον επίσημο οδηγό μετάβασης, αυτό το σφάλμα εμφανίζεται όταν: Η εφαρμογή σας περιλαμβάνει έναν τύπο κατασκευής που δεν έχει εξάρτηση από μια βιβλιοθήκη.
android {
buildTypes {
release {
...
}
dexOptions {
...
// release & debug is in project animators
matchingFallbacks = ['release', 'debug']
}
debug {
...
}
}
}
Ο ορισμός matching configuration fallbacks είναι σαφώς ο σωστός τρόπος για να λυθεί αυτό.
Νομίζω ότι είναι από το αρχείο gradle-wrapper.properties
:
make distribution url distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
και μην αναβαθμίσετε το : distributionUrl=https\://services.gradle.org/distributions/gradle-4 ....
Φαίνεται ότι πρόκειται για σφάλμα στο Gradle. Αυτό λύνει το πρόβλημα για μένα, αλλά δεν αποτελεί λύση. Πρέπει να περιμένουμε μια νέα έκδοση που θα διορθώνει αυτό το πρόβλημα.
Στο build.gradle στο έργο ορίστε classpath 'com.android.tools.build:gradle:2.3.3' αντί για classpath 'com.android.tools.build:gradle:3.0.0'.
Στο gradle-wrapper.properties ορίστε https\://services.gradle.org/distributions/gradle-3.3-all.zip αντί https\://services.gradle.org/distributions/gradle-4.1.2-all.zip