Je travaille sur Flutter app. Je peux exécuter l'application dans l'appareil Android avec succès, mais essayez de créer build (. Apk ) fichier et obtenu ci-dessous les problèmes.
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.
Ci-dessous 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
- ne 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 version différente" en utilisant flutter_local_notifications et des packages de localisation
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.
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 AndroidX lien 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, changez le chemin de classe gradle classpath 'com.Android.tools.build:gradle:3.5.3'
et compileSdkVersion 28
dans 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 le mettre à jour. ou ouvrez Android dans androidstudio et studio vous montrera deux projets d'application et Twitter où vous pouvez mettre à jour ces choses.
parfois, il est préférable d'ouvrir le 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).
Le problème vient de Execution failed for task ':flutter_Twitter:verifyReleaseResources'.
J'ai trouvé un lien pour ce problème flutter_Twitter_login/issue # 12
Ajoutez cette dépendance dans votre pubspec.yaml
fichier et laissez-moi savoir cela fonctionne ou non?
flutter_Twitter_login:
git: git://github.com/eudangeld/flutter_Twitter_login.git
semble que votre firebase_messaging
la version de la bibliothèque ne prend pas en charge AndroidX. Assurez-vous que vous avez mis à jour la version de cette bibliothèque.
dependencies:
firebase_messaging: ^6.0.9
Vous devez mettre à jour la version compileSdkVersion du module flutter_Twitter à 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
merci, cela a fonctionné pour moi pour device_id: ^ 0.1.3 plugin conflit avec cloud_firestore: ^ 0.13.4 + 2
Dans votre projet Flutter, recherchez votre dossier "Android" et ouvrez-le en tant que projet Android dans Android Studio.
Développez "Gradle Scripts" et attendez qu'il se charge.
Localisez "build.gradle (Module: device_id)"
Modifiez la version compileSdk de 27-> 28.
Enregistrez les modifications.