L'exécution a échoué pour la tâche ': flutter_twitter: verifyReleaseResources'

9

Je travaille sur l' application Flutter . Je peux exécuter l'application avec succès sur l'appareil Android, mais essayez de créer un fichier de construction ( .apk ) et j'ai rencontré les problèmes ci-dessous.

FAILURE: Build failed with an exception.                                                                           

* What went wrong:                                                                                                 
Execution failed for task ':flutter_twitter:verifyReleaseResources'.                                               
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade                  
   > Android resource linking failed                                                                               
     /Users/ipatel/.gradle/caches/transforms-2/files-2.1/8f09fa5c6115de167b21b323f769edd9/core-1.0.0/res/values/values.xml:57:5-88:25: AAPT: error: resource android:attr/fontVariationSettings not found.

     /Users/ipatel/.gradle/caches/transforms-2/files-2.1/8f09fa5c6115de167b21b323f769edd9/core-1.0.0/res/values/values.xml:57:5-88:25: AAPT: error: resource android:attr/ttcIndex not found.


* Try:                                                                                                             
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org                                                                         

BUILD FAILED in 5m 2s                                                                                              
Running Gradle task 'assembleRelease'...                                                                           
Running Gradle task 'assembleRelease'... Done                     303.8s (!)
The built failed likely due to AndroidX incompatibilities in a plugin. The tool is about to try using Jetfier to solve the incompatibility.
Building plugin firebase_messaging...
The plugin firebase_messaging could not be built due to the issue above.

Voici les trucs du projet

defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.xxxx.eeee"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}

> local.properties

sdk.dir=/Users/ipatel/Library/Android/sdk
flutter.sdk=/Users/ipatel/Documents/Amit/FlutterSetup/flutter
flutter.buildMode=release
flutter.versionName=1.0.0
flutter.ver

Mon application est compatible avec AndroidX et a également essayé avec de nombreuses solutions mais ne peut pas résoudre mon problème.

J'ai vérifié
- https://github.com/roughike/flutter_twitter_login/issues/29
- Une erreur s'est produite lors de l'exécution de com.android.build.gradle.internal.tasks
- Erreur de flottement "La dépendance Android 'androidx.core: core' a une différence version "à l'aide de flutter_local_notifications et de packages d'emplacement

et d'autres.

Résultat Flutter Doctor:

Doctor summary (to see all details, run flutter doctor -v):
[] Flutter (Channel beta, v1.12.13+hotfix.6, on Mac OS X 10.14.3 18D109, locale en-IN)

[] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[] Xcode - develop for iOS and macOS (Xcode 10.3)
[] Chrome - develop for the web
[] Android Studio (version 3.5)
[] VS Code (version 1.41.1)
[] Connected device (4 available)

build.gradle

android {
    compileSdkVersion 28

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        applicationId "com.xxxx.aaaa"
        minSdkVersion 21
        targetSdkVersion 28
        multiDexEnabled true
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
}

gradle.properties

org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true

~ PS: faites-moi savoir si vous voulez plus de détails de ma part.

iPatel
la source
Quelle est la version de votre flutter
Blasanka
@Blasanka Flutter (Channel beta, v1.12.13 + hotfix.6)
iPatel
Avez-vous essayé d'ajouter multiDex à true, si oui, si vous pouvez essayer avec un canal maître ou stable.
Blasanka
@Blasanka Je l' ai déjà établi que les pls vérifient mon build.gradle fichier
iPatel
pouvez-vous publier le contenu de votre gradle.propertiesfichier?
Harshvardhan Joshi

Réponses:

4

Le problème est qu'une bibliothèque n'est pas compatible ou n'utilise pas androidx tandis que d'autres le sont. Merci à Google d'avoir transféré toute la bibliothèque de support vers androidx, de nombreuses bibliothèques ayant des conflits comme celui-ci et je vais surtout déboguer autour de la bibliothèque qui a un problème comme commenter et décommenter la bibliothèque de pubspec.

En supposant que le plugin flutter_twitter était le problème.

Comme nous pouvons le vérifier, ce plugin Twitter n'utilisant pas le lien AndroidX , nous devons donc le changer nous-mêmes.

(Tous ces changements doivent être modifiés dans le plugin Twitter, pas dans le projet Flutter)

Je pense que vous pouvez changer le gradle.properties pour utiliser androidx et également compiler la version en 28 gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

ajoutez ces deux lignes, modifiez gradle classpath classpath 'com.android.tools.build:gradle:3.5.3' et compileSdkVersion 28dans flutter_twitter. Je suis capable de générer une build de version en utilisant ce plugin.

Ohh yah vous pouvez trouver votre version du plugin en cache à /Users/parth.dave/.pub-cache/hosted/pub.dartlang.org/flutter_twitter_login-1.1.0/quelque chose comme ça où vous pouvez la mettre à jour. ou ouvrez le dossier Android dans androidstudio et studio vous montrera deux projets et Twitter et l'application où vous pouvez mettre à jour ces choses.

parfois, il est préférable d'ouvrir un projet Android dans Android Studio et de mettre à jour toutes les choses dont vous pourriez obtenir des erreurs avant d'exécuter des projets Flutter.

Parth Dave
la source
j'espère que cela pourrait résoudre votre problème. commentez sinon, je vais essayer de trouver une autre solution.
Parth Dave
Merci pour la réponse pratik, En fait, je viens de créer un nouveau projet dans Fluter où "android.useAndroidX = true, android.enableJetifier = true" et compileSdkVersion 28déjà défini dans le projet et je viens de changer 'com.android.tools.build:gradle:3.5.3'et d'essayer de créer par flutter build apket j'ai le même problème
iPatel
Non non, je parlais de modifier les paramètres du plugin Twitter et non les paramètres de votre projet.
Parth Dave
Oui .. j'ai une solution, merci
iPatel
5

Le problème vient duExecution failed for task ':flutter_twitter:verifyReleaseResources'. lien trouvé pour ce problème flutter_twitter_login / issue # 12

Ajoutez cette dépendance dans votre pubspec.yamlfichier et faites-moi savoir cela fonctionne ou non?

flutter_twitter_login: 
  git: git://github.com/eudangeld/flutter_twitter_login.git
AR
la source
0

semble que la firebase_messagingversion de votre bibliothèque ne prend pas en charge le support AndroidX. Assurez-vous que vous avez mis à jour la version de cette bibliothèque.

dependencies:
  firebase_messaging: ^6.0.9
KumarSunil17
la source
J'utilise la dernière
iPatel
0

Vous devez mettre à jour la version compileSdkVersion du module flutter_twitter en 28:

1 / Dans votre projet flutter, localisez votre dossier "android" et ouvrez-le en tant que projet android dans Android Studio.

2 / Développez "Gradle Scripts" et attendez qu'il se charge.

3 / Localisez "build.gradle (Module: flutter_twitter)"

4 / Modifiez la version compileSdk de 27-> 28.

5 / Enregistrez les modifications.

Ma construction a fonctionné après cela. La réponse était ici: https://github.com/flutter/flutter/issues/32595

Florian Lavorel
la source
0

merci, ça a fonctionné pour moi pour device_id: ^ 0.1.3 plugin conflit avec cloud_firestore: ^ 0.13.4 + 2

  1. Dans votre projet Flutter, localisez votre dossier "Android" et ouvrez-le en tant que projet Android dans Android Studio.

  2. Développez "Gradle Scripts" et attendez qu'il se charge.

  3. Localisez "build.gradle (Module: device_id)"

  4. Modifiez le compileSdkVersion de 27-> 28.

  5. Enregistrez les modifications.

Om28dz Alg
la source