Pracuję nad aplikacją Flutter . Mogę pomyślnie uruchomić aplikację na urządzeniu z Androidem, ale spróbuj utworzyć plik kompilacji ( .apk ) i mam poniższe problemy.
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.
Poniżej znajdują się elementy projektu
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
Moja aplikacja jest kompatybilna z AndroidX, a także wypróbowałem wiele rozwiązań, ale nie mogę rozwiązać problemu.
Sprawdziłem
- https://github.com/roughike/flutter_twitter_login/issues/29
- Wystąpił błąd podczas wykonywania com.android.build.gradle.internal.tasks
- trzepot Błąd „Zależność Androida” androidx.core: core ”ma inny wersja ”przy użyciu flutter_local_notifications i pakietów lokalizacji
i inni.
Wynik 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: Daj mi znać, jeśli chcesz więcej szczegółów z mojego końca.
gradle.properties
pliku?Odpowiedzi:
Problemem jest to, że niektóre biblioteki nie są kompatybilne lub nie używają Androidax, podczas gdy inne są. Dzięki Google za przeniesienie całej biblioteki wsparcia na Androidx, teraz wiele bibliotek ma takie konflikty i przeważnie przechodzę do debugowania, w którym lib ma problem z komentowaniem i odkomentowaniem biblioteki lib z pubspec.
Zakładając, że wtyczka flutter_twitter była problemem.
Myślę, że możesz zmienić gradle.properties, aby używać Androidax, a także skompilować wersję do 28 gradle.properties:
dodaj te dwie linie, zmień ścieżkę klasy stopnia
classpath 'com.android.tools.build:gradle:3.5.3'
icompileSdkVersion 28
we flutter_twitter. Jestem w stanie wygenerować kompilację wersji przy użyciu tej wtyczki.Czasami lepiej jest otworzyć projekt Androida w Android Studio i zaktualizować wszystkie rzeczy, które mogą powodować błędy przed uruchomieniem projektów trzepotania.
źródło
compileSdkVersion 28
już ustawiony w projekcie, a ja po prostu zmieniłem się'com.android.tools.build:gradle:3.5.3'
i próbowałem dokonać kompilacjiflutter build apk
i dostałem ten sam problemProblem polega
Execution failed for task ':flutter_twitter:verifyReleaseResources'.
na tym, że znalazłem link do tego problemu flutter_twitter_login / issue # 12Dodaj tę zależność do swojego
pubspec.yaml
pliku i daj mi znać, czy działa, czy nie?źródło
wygląda na to, że twoja
firebase_messaging
wersja biblioteki nie obsługuje AndroidaX. Upewnij się, że masz zaktualizowaną wersję tej biblioteki.źródło
Musisz zaktualizować compileSdkVersion modułu flutter_twitter do 28:
1 / W swoim projekcie trzepotania zlokalizuj folder „android” i otwórz go jako projekt Android w Android Studio.
2 / Rozwiń „Skrypty stopniowe” i poczekaj, aż się załaduje.
3 / Znajdź „build.gradle (moduł: flutter_twitter)”
4 / Zmodyfikuj compileSdkVersion z 27-> 28.
5 / Zapisz zmiany.
Moja wersja działała potem. Odpowiedź była tutaj: https://github.com/flutter/flutter/issues/32595
źródło
dziękuję, zadziałało dla mnie dla device_id: ^ 0.1.3 plugin conflit z cloud_firestore: ^ 0.13.4 + 2
W swoim projekcie trzepotania zlokalizuj folder „android” i otwórz go jako projekt Androida w Android Studio.
Rozwiń „Skrypty stopniowe” i poczekaj, aż się załaduje.
Zlokalizuj „build.gradle (Module: device_id)”
Zmodyfikuj compileSdkVersion z 27-> 28.
Zapisz zmiany.
źródło