Ich arbeite an der Flutter App. Ich kann die App auf dem Android-Gerät erfolgreich ausführen , versuche jedoch, eine Build- Datei ( APK ) zu erstellen, und habe die folgenden Probleme festgestellt .
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.
Unten sind die Sachen des Projekts
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
Meine App ist mit AndroidX kompatibel und hat auch viele Lösungen ausprobiert, kann mein Problem jedoch nicht beheben.
Ich habe
- https://github.com/roughike/flutter_twitter_login/issues/29
- Ein Fehler ist aufgetreten , während com.android.build.gradle.internal.tasks Ausführung
- flattern Error „Android Abhängigkeit‚androidx.core: core‘hat verschiedene version "mit flutter_local_notifications und location-paketen
und andere.
Flatter Doctor Ergebnis:
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: Lass es mich wissen, wenn du mehr Details von meinem Ende willst.
gradle.properties
Datei veröffentlichen?Antworten:
Das Problem ist, dass einige Bibliotheken nicht kompatibel sind oder Androidx nicht verwenden, während andere es sind. Dank Google für die Übertragung aller Support-Bibliotheken auf AndroidX haben jetzt viele Bibliotheken Konflikte wie diese und ich gehe meistens zum Debuggen, bei dem es um ein Problem wie das Kommentieren und Kommentieren der Bibliothek von pubspec geht.
Angenommen, das Plugin flutter_twitter war das Problem.
Ich denke, Sie können die gradle.properties ändern, um androidx zu verwenden und auch die Version auf 28 gradle.properties zu kompilieren:
fügen Sie diese beiden Linien, gradle Classpath ändern
classpath 'com.android.tools.build:gradle:3.5.3'
undcompileSdkVersion 28
in flutter_twitter. Ich kann mit diesem Plugin einen Release Build generieren.Manchmal ist es auch besser, ein Android-Projekt in Android Studio zu öffnen und alle Dinge zu aktualisieren, bei denen möglicherweise Fehler auftreten, bevor Flatterprojekte ausgeführt werden.
quelle
compileSdkVersion 28
bereits im Projekt festgelegt und ich gerade geändert'com.android.tools.build:gradle:3.5.3'
und versuchen zu bauen , um durchflutter build apk
und bekam gleiches ProblemDas Problem ist, dass
Execution failed for task ':flutter_twitter:verifyReleaseResources'.
ich einen Link für dieses Problem gefunden habe. Flutter_twitter_login / issue # 12Fügen Sie diese Abhängigkeit in Ihre
pubspec.yaml
Datei ein und lassen Sie mich wissen, ob dies funktioniert oder nicht?quelle
Anscheinend unterstützt Ihre
firebase_messaging
Bibliotheksversion keine AndroidX-Unterstützung. Stellen Sie sicher, dass Sie die Version dieser Bibliothek aktualisiert haben.quelle
Sie müssen die compileSdkVersion des flutter_twitter-Moduls auf 28 aktualisieren:
1 / Suchen Sie in Ihrem Flatterprojekt Ihren "Android" -Ordner und öffnen Sie ihn als Android-Projekt in Android Studio.
2 / Erweitern Sie "Gradle Scripts" und warten Sie, bis es geladen ist.
3 / Suchen Sie "build.gradle (Modul: flutter_twitter)"
4 / Ändern Sie die compileSdkVersion von 27-> 28.
5 / Speichern Sie die Änderungen.
Mein Build hat danach funktioniert. Die Antwort war hier: https://github.com/flutter/flutter/issues/32595
quelle
danke, es hat bei mir für device_id funktioniert: ^ 0.1.3 Plugin Konflikt mit cloud_firestore: ^ 0.13.4 + 2
Suchen Sie in Ihrem Flatterprojekt Ihren "Android" -Ordner und öffnen Sie ihn als Android-Projekt in Android Studio.
Erweitern Sie "Gradle Scripts" und warten Sie, bis es geladen ist.
Suchen Sie "build.gradle (Modul: Geräte-ID)"
Ändern Sie die compileSdkVersion von 27-> 28.
Speichern Sie die Änderungen.
quelle