erreur: ressource android: attr / fontVariationSettings not found

153

Avertissement: Leandroid.dexOptions.incrementalproperty est obsolète et n'a aucun effet sur le processus de génération. /home/midhilaj/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.1.0.aar/be3106efb0df111fe5a3f7b356dd070b/res/values/values.xml Erreur: (246, 5) erreur: ressource android: attr / fontVariationSettings introuvable. /project/bkup/7_march_2018/hyshoper/milla/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml Erreur: (246, 5) erreur: ressource android: attr / ttcIndex non trouvée. Erreur: (269) ressource android: attr / ttcIndex introuvable. Erreur: (269) ressource android: attr / fontVariationSettings not found. Erreur: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: erreur AAPT2: vérifiez les journaux pour plus de détails Erreur: échec de la liaison des références. Erreur: java.util.concurrent.

Impossible d'exécuter aapt Information: 9 erreurs Information: BUILD FAILED in 2s Information: 1 avertissement Information: Voir la sortie complète dans la console

Comment résoudre ce problème? mes dépendances

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })


    compile 'de.hdodenhof:circleimageview:2.2.0'



    compile('com.alibaba.android:ultraviewpager:1.0.6.1@aar') {
        transitive = true
    }
    compile('org.apache.httpcomponents:httpmime:4.3.6') {
        exclude module: 'httpclient'
    }
    compile 'com.synnapps:carouselview:0.1.4'
    compile 'com.sun.mail:android-mail:1.5.5'
    compile 'com.sun.mail:android-activation:1.5.5'
    implementation 'com.muddzdev:styleabletoast:2.0.2'
    compile 'javax.annotation:javax.annotation-api:1.2'




    compile 'me.grantland:autofittextview:0.2.+'
    // base library
     //slider
    compile 'com.ss.bannerslider:bannerslider:1.8.0'
    //noinspection GradleCompatible
    compile 'jp.wasabeef:recyclerview-animators:2.2.7'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.github.satyan:sugar:1.4'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.android.support:percent:26.1.0'
    compile 'com.google.code.gson:gson:2.6.2'
    compile 'com.github.satyan:sugar:1.4'
    compile 'jp.wasabeef:recyclerview-animators:2.2.6'
    compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+'
    compile 'com.afollestad.material-dialogs:core:0.9.4.2'
    compile 'com.google.android.gms:play-services:9.8.0'
    compile 'com.google.android.gms:play-services-auth:9.8.0'
    compile 'com.google.android.gms:play-services-location:9.8.0'
    compile 'com.google.firebase:firebase-core:9.8.0'
    compile 'com.google.firebase:firebase-auth:9.8.0'
    compile 'com.google.firebase:firebase-database:9.8.0'
    compile 'com.google.firebase:firebase-config:9.8.0'
    compile 'com.google.firebase:firebase-crash:9.8.0'
    compile 'com.google.firebase:firebase-invites:9.8.0'
    compile 'com.google.firebase:firebase-storage:9.8.0'
    compile 'cn.pedant.sweetalert:library:1.3'
    compile 'at.blogc:expandabletextview:1.0.3'
    compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.1.+'
    compile 'com.android.support:appcompat-v7:26.1.0'

    implementation 'com.github.bumptech.glide:glide:4.6.1'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
    compile 'com.android.support:design:26.1.0'
    compile 'com.android.support:cardview-v7:26.1.0'
    compile 'com.android.support:support-v4:26.1.0'
    compile 'com.android.support:recyclerview-v7:26.1.0'
    compile 'com.nineoldandroids:library:2.4.0'
    compile 'com.daimajia.slider:library:1.1.5@aar'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    implementation 'com.android.support:design:26.1.0'

}
Midhilaj
la source
1
J'ai résolu mon problème ici: stackoverflow.com/questions/49162538/…
Gilson
Hé, j'ai eu le même problème que vous, "Application non installée" lors de l'envoi du fichier .apk à d'autres. Pouvez-vous m'aider s'il vous plaît à ce sujet.
Naveen

Réponses:

264

essayez de changer le compileSdkVersion en:

compileSdkVersion 28

fontVariationSettings ajoutés au niveau de l'API 28. Api doc ici

zyc zyc
la source
2
J'ai dû passer à la version 28 lorsque j'ai ajouté la dernière bibliothèque d'extensions Kotlin au projet et que j'obtenais cette erreur. Merci!
Micer
1
Cela a résolu le problème suivant pour moi: "resource android: attr / fontVariationSettings not found."
Adam Hurwitz
1
@Micer désolé, je ne suis pas sûr de ce qui s'est passé dans votre projet, vous devez peut-être nettoyer et reconstruire. ou résolvez les dépendances dans le projet.
zyc zyc
2
@zyczyc Ce que je voulais dire, c'est que j'utilisais 27 et que la mise à niveau vers 28 a résolu tous les problèmes. J'ai essayé de nettoyer et de reconstruire avant sans succès.
Micer
1
@anunixercoder J'ai eu le même problème. Sdk 28 n'est pas une option, j'ai donc cherché: app: depencies pour les conflits et verrouillé les versions zu à api 27 dépendances compatibles comme FilipFloryan ci-dessous (build-extras.gradle) mentionnées.
Hank Lapidez
55

Cela est dû à une incompatibilité avec la bibliothèque de support Android qui est passée à la version 28. J'ai résolu le problème en forçant la construction à utiliser une bibliothèque de support inférieure. // comme build gradle

configurations.all {
        resolutionStrategy {
                force 'com.android.support:support-v4:27.1.0'
    }
} 

Mon projet a été construit avec succès immédiatement après avoir changé cela. J'espère que cela pourrait vous aider aussi. J'ai perdu une journée de développement à cause de ça !.

Akhil
la source
7
où mettre ces lignes?
Kakashi le
1
@Kakashi a mis ces lignes dans build.gradle (Module: app)
akhil
1
@akhid Voulez-vous dire les plates-formes / androids / app / build.gradle? Si oui, collez simplement cette ligne n'importe où dans ce fichier? Je cherchais depuis un certain temps pour savoir où mettre ces lignes :(
Thomas Kim
19

Pour ceux qui doivent conserver compileSdkVersion 27et ne peuvent pas encore mettre à niveau vers androidx , vous ne devez pas mettre à niveau vers (ou plus) les versions des dépendances dans les liens suivants. Ces liens sont l'endroit où le changement de rupture a été introduit. Vous devez trouver une version antérieure qui n'utilise pas androidx.

https://firebase.google.com/support/release-notes/android#update_-_june_17_2019

https://developers.google.com/android/guides/releases#june_17_2019

Par exemple, les éléments suivants sont compatibles avec compileSdkVersion 27:

dependencies {
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.google.android.gms:play-services-maps:16.1.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.google.firebase:firebase-messaging:18.0.0'
}

Les éléments suivants seront rompus compileSdkVersion 27et ne sont compatibles qu'avec compileSdkVersion 28:

dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    implementation 'com.google.android.gms:play-services-location:17.0.0'
    implementation 'com.google.firebase:firebase-core:17.0.0'
    implementation 'com.google.firebase:firebase-messaging:19.0.0'
}
Utilisateur régulier
la source
2
Merci de donner une solution à ceux qui ont besoin de conserver temporairement la version 27 (la réponse acceptée est trop simpliste)
Don
Je vous remercie! J'avais compileSdkVersion réglé sur 28 mais je n'utilisais pas de bibliothèques androidx et changer Firebase en version inférieure aidait.
michalbrz
9

Je résous ce problème avec la ligne ci-dessous:

cordova plugin add cordova-android-support-gradle-release --save

Après cela, la compilation a réussi.

John Prado
la source
7

Si vous mettez à jour vers la v28

changez le compileSdkVersion en compileSdkVersion 28

Pablo Cegarra
la source
@victorsosa app / build.gradle
Pablo Cegarra
Je mets là mais obtenant une erreur; pouvez-vous donner un exemple, s'il vous plaît?
victor sosa
5

Pour les applications Android natives (pas Cordova), la solution pour moi est:

Était:

implementation 'com.android.support:support-v13:+'

Maintenant:

implementation 'com.android.support:support-v13:27.1.1'
Eugène Voronoy
la source
5

Un autre correctif pour les développeurs Ionic 3 est de créer build-extras.gradle dans les plates-formes / android et de mettre

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}

Notez que build-extras.gradle n'est pas la même chose que build.gradle

Filip Floryan
la source
5

@Tout le problème est dû aux dernières modifications majeures apportées au service Google Play et à la version Firebase du 17 juin 2019.

Si vous êtes sur un projet Ionic ou Cordova. Veuillez parcourir tous les plugins où il existe un service google play de dépendance et un service Firebase avec la marque +

Exemple:

Dans mon intégration Firebase Cordova, j'avais com.google.firebase: firebase-core: + com.google.firebase: firebase-messaging: + Donc, le plus toujours télécharger la dernière version qui causait une erreur. Change + avec le numéro de version selon la version du 15 mars 2019 https://developers.google.com/android/guides/releases

Assurez-vous de remplacer les symboles + par la version réelle dans le fichier build.gradle de la bibliothèque cordova

bheema
la source
3

Habituellement, c'est à cause des versions et / ou des dépendances sdk.

Pour les développeurs Cordova , placez vos paramètres de dépendances dans le project.propertiesfichier " " sous le CORDOVA_PROJECT_ROOT/platforms/android/dossier, comme ceci:

target=android-26
android.library.reference.1=CordovaLib
android.library.reference.2=app
cordova.system.library.1=com.android.support:support-v4:26.1.0
cordova.gradle.include.2=cordova-plugin-googlemaps/app-tbxml-android.gradle
cordova.system.library.3=com.android.support:support-core-utils:26.1.0
cordova.system.library.4=com.google.android.gms:play-services-maps:15.0.0
cordova.system.library.5=com.google.android.gms:play-services-location:15.0.0

Donc, si vous utilisez CLI " cordova build", il écrasera la section des dépendances:

dependencies {
    implementation fileTree(dir: 'libs', include: '*.jar')
    // SUB-PROJECT DEPENDENCIES START 
   /* section being overwritten by cordova, referencing project.properties */
...
    // SUB-PROJECT DEPENDENCIES END
}

Si vous utilisez des bibliothèques appropriées et ses versions dans project.properties, tout devrait bien se passer.

Joanne
la source
supprimer les espaces supplémentaires aprèsandroid.library.reference.2=app
Nicholas Vasilaki
Vous êtes un ange! J'étais en train de me casser la tête avec ça. Il avait choisi de définir la cible sur android 26 mais se chargeait dans les dépendances à partir de 28. Merci !!!!!!!!!
eliotRosewater
2

J'ai eu la même erreur, mais je ne sais pas pourquoi elle est apparue. Après avoir recherché la solution, j'ai migré le projet vers AndroidX (Refactor -> Migrer vers AndroidX ...), puis j'ai modifié manuellement les importations de classes entières, etc. et dans les fichiers de mise en page également (RecyclerViews, ConstraintLayouts, Toolbars, etc.). J'ai également changé compileSdkVersion et targetSdkVersion en version 28 et l'ensemble du projet / application fonctionne bien.

Slepster
la source
2

Si quelqu'un a cette erreur en utilisant phonegap ou cordova avec le plugin cordova-plugin-fcm-ng ou cordova-plugin-fcm, la solution qui a fonctionné pour moi est de créer le fichier de configuration supplémentaire pour gradle "build-extras.gradle" dans le \ dossier plates-formes \ android \ app, et y mettre les lignes suivantes

configurations.all {
 resolutionStrategy {
  force 'com.google.firebase:firebase-messaging:18.0.0'
  force 'com.google.firebase:firebase-core:16.0.8'
 }
}

J'ai trouvé cette solution en lisant cette page https://github.com/facebook/react-native/issues/25371 , notamment en commentaire de shreyakupadhyay le 30/07/19 et en consultant https://developers.google.com/android/ guides / releases # may_07_2019 sur la dernière version des bibliothèques.

Alessandro Battistini
la source
2

J'ai rencontré cette erreur dans un projet de flutter et tout ce que j'avais à faire mettre à jour mon compileSdkVersion à 28.

PAS:

  1. Dans votre fichier build.gradle au niveau de l'application, recherchez compileSdkVersion
  2. Vérifiez la version actuelle
  3. S'il est inférieur à 28, mettez-le à jour à 28

Comme zyc zyc l'a indiqué ci-dessus, la propriété fontVariationSettings a été ajoutée au niveau d'API 28.

Vous pouvez également en savoir plus ici

Otunba Tosyne Joseph
la source
1

Pour les développeurs Ionic 3. J'ai dû mettre à jour le fichier platform / android / project.properties UNIQUEMENT sur:

cordova.system.library.2

être v4: 28.0.0+ sinon la construction échouait.

Après cela, le contenu de mon fichier project.properties est affiché ci-dessous:

target=android-26
android.library.reference.1=CordovaLib
cordova.system.library.1=com.android.support:support-v4:24.1.1+
cordova.system.library.2=com.android.support:support-v4:28.0.0+
cordova.system.library.3=com.android.support:support-v4:+
cordova.system.library.4=com.android.support:support-v4:25.+
cordova.system.library.5=com.android.support:appcompat-v7:25.+
cordova.gradle.include.1=cordova-plugin-googlemaps/starter-tbxml-android.gradle
cordova.system.library.6=com.google.android.gms:play-services-maps:15.0.1
cordova.system.library.7=com.google.android.gms:play-services-location:15.0.1
cordova.system.library.8=com.android.support:support-core-utils:26.1.0
cordova.system.library.9=com.squareup.okhttp3:okhttp-urlconnection:3.10.0
cordova.gradle.include.2=cordova-android-support-gradle-release/pasma-cordova-android-support-gradle-release.gradle

J'espère que ça aidera quelqu'un. C'était un vrai problème pour moi.

Tony Ross
la source
IMHO, pourquoi ne pas tous soutenir lib, seulement le second? 😊
Thomas Kim
1

C'était une douleur dans le cul pour moi! Surtout après la mise à jour vers Android Studio 3.2.1 et Gradle 4.6 (pour les développeurs Gradle).

Je pense qu'il y a plus d'un facteur qui pourrait causer une telle exception de construction. Pour moi, j'avais les lignes de code suivantes dans mon fichier gradle.properties (en utilisant SDK version 27):

android.useAndroidX=true
android.enableJetifier=true

AndroidX est l'alternative à la bibliothèque de support par défaut d'Android et doit être utilisé lors de la compilation et du ciblage de la version 28 du SDK (API 28). Avant la mise à jour d'Android Studio et Gradle, j'avais ajouté les lignes ci-dessus en préparation pour finalement migrer complètement vers AndroidX pour utiliser la version 28 du SDK et la construction s'est déroulée avec succès. Ce n'est qu'après la mise à jour que j'ai reçu une erreur similaire à celle ci-dessus:

error: resource android:attr/fontVariationSettings not found

J'espère que cela t'aides.

Marvatron
la source
1

Pour moi: ma bibliothèque externe utilisait ces attributs attr / fontVariationSettings et attr / ttcIndex donc je rétrograde ma version de bibliothèque et synchronise le projet. tout va bien

Alors maintenant :

 compileSdkVersion 27 
 implementation 'com.android.support:appcompat-v7:27.1.1'

et pour les futurs lecteurs, cette bibliothèque était la simple autorisation de google.

implementation 'pub.devrel:easypermissions:2.0.0'

Cette bibliothèque utilise sdkversion 28, je dois revenir à la version 1.3.0

Tejas Pandya
la source
1
Salut, comment vérifier si cette bibliothèque utilise sdkversion 28? 😊
Thomas Kim
1
@ThomasKim. après avoir implémenté cette bibliothèque, j'ai eu cette erreur. Je recherche et vérifie que attributes attr/fontVariationSettings and attr/ttcIndexn'appartient 28qu'à. Je rétrograde donc cette bibliothèque et son fonctionnement. Alors je comprends que c'était la cause
Tejas Pandya
1
Je vois, j'ai une question, pourquoi n'avez-vous pas choisi de passer à 28? la mise à niveau résoudra trop bien (?) 😁 (btw, je suis confronté à ce problème depuis presque 3 jours et je ne sais pas quel plugin était erroné
Thomas Kim
2
@ThomasKim parce qu'au moment de la rédaction de cette réponse. il y a quelques bogues dans 28 qui posent des problèmes dans le rendu de la vue de conception. donc 27 est mieux pour moi
Tejas Pandya
1

J'ai résolu le problème en changeant la version Android cible en 28 dans project.properties (target = android-28) et en installant cordova-plugin-androidx et cordova-plugin-androidx-adapter.

Manoj Alwis
la source
1

erreur: ressource android: attr / fontVariationSettings not found

J'ai eu cette erreur lorsque j'ai ajouté la bibliothèque ButterKnife, mais la mise à niveau de compileSdkVersion vers 28 et targetSdk vers 28 a résolu mon problème.

Raveesh GS
la source
1

après la mise à niveau vers Android 3.4.2 et FTC SDK5.2. J'ai eu ces erreurs lors de la création de l'APK:

Échec de la liaison des ressources Android C: \ Users \ idsid \ FTC \ SkyStone \ TeamCode \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values ​​\ values.xml: 1205: erreur: ressource android: attr / fontVariationSettings not found. C: \ Users \ idsid \ FTC \ SkyStone \ TeamCode \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values ​​\ values.xml: 1206: erreur: ressource android: attr / ttcIndex introuvable. erreur: échec de la liaison des références.

Ce que j'ai fait est d'ajouter la section suivante à la gradation de construction du projet et le problème est résolu.

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 28
                buildToolsVersion '29.0.2'
            }
        }
    }
}

Bonne chance.

Steven Wang
la source
1

J'ai eu ce problème soudainement après avoir essayé de retirer une dépendance en fonction de sdk 28 (firebase crashlytics), mais j'ai ensuite décidé de revenir en arrière.

J'ai essayé refactoring automatique Migrate to Androidx(qui ne la moitié du travail), a ajouté android.useAndroidX=truedans gradle.propertiesà certains endroits, et faire à nouveau le travail du projet.

Mais il y avait beaucoup de changements avant une livraison. Il n'y avait aucun moyen de recompiler le projet avec le SDK 27. J'ai git clean -fdsupprimé $HOME/.gradleet j'ai continué à voir androidx dans./gradlew :app:dependencies

J'ai fini par supprimer ~/.AndroidStudio3.5/aussi (je suis sur 3.5.3). Cela fait recompiler le projet, et j'ai découvert le mode sombre ...

Fred
la source
0

J'ai supprimé tous les plugins inutilisés dans pubspec.yaml et dans les bibliothèques externes pour résoudre le problème.

coiffé
la source
0

Je viens de recevoir à nouveau cette erreur AndroidX après l'avoir corrigée il y a un an. J'utilise Flutter.

J'ai pu créer des versions en utilisant Flutter 1.7.8 + hotfix.4, puis récemment j'ai mis à jour Flutter vers la version 1.17.4 et je ne pouvais plus compiler une version de version. Les versions de débogage fonctionnaient très bien.

TLDR : Cette fois, c'était un package utilisant un autre package qui n'a pas été mis à jour correctement pour AndroidX
Assurez-vous de mettre à jour vos packages! :)

Message d'erreur: partie importante

[+1099 ms] > Task :package_info:verifyReleaseResources FAILED 
[  +10 ms] FAILURE: Build failed with an exception. 
[  +10 ms] * What went wrong: 
[  +29 ms] Execution failed for task ':package_info:verifyReleaseResources'. 
[   +3 ms] java.util.concurrent.ExecutionException:com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed 
[   +7 ms]  ...\build\package_info\intermediates\res\merged\release\values\values.xml:171:error: resource android:attr/fontVariationSettings not found. 
[   +2 ms] ...\build\package_info\intermediates\res\merged\release\values\values.xml:172:error: resource android:attr/ttcIndex not found.     
[   +1 ms] error: failed linking references.

Message d'erreur: Distraction

       FAILURE: Build failed with an exception.

       * What went wrong:
       A problem occurred configuring root project 'barcode_scan'.
       > SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

"fontVariationSettings not found". est une erreur AndroidX, qui vous oblige à utiliser compileSdkVersion 28, mais je l'avais déjà, donc je soupçonne que quelque chose a été implémenté entre mes deux versions de Flutter pour être plus restrictif.

J'ai donc dû aller chasser et mettre à jour les paquets et j'ai trouvé ça. "package_info: ^ 0.3.2" devait être "package_info: ^ 0.4.0" pour que cela fonctionne. Pour le rendre "plus" à l'épreuve du temps, écrivez-le comme ceci:

package_info: '>=0.4.0 <2.0.0'

Après la mise à jour des packages, ma base de code se compile à nouveau pour la publication. J'espère que ça aide.

Bo Jensen
la source