Saya sedang mengerjakan aplikasi Flutter . Saya dapat menjalankan aplikasi di perangkat android dengan sukses tetapi mencoba membuat file build ( .apk ) dan mendapatkan masalah di bawah ini.
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.
Di bawah ini adalah barang-barang proyek
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
Aplikasi saya kompatibel dengan AndroidX dan juga mencoba dengan banyak solusi tetapi tidak dapat memperbaiki masalah saya.
Saya memeriksa
- https://github.com/roughike/flutter_twitter_login/issues/29
- Terjadi kegagalan saat menjalankan com.android.build.gradle.internal.tasks
- flutter Error "Ketergantungan Android 'androidx.core: core' memiliki perbedaan versi "menggunakan flutter_local_notifications dan paket lokasi
dan lain-lain.
Hasil 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
}
}
}
properti
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
~ PS: Beri tahu saya jika Anda ingin lebih detail dari saya.
gradle.properties
file ?Jawaban:
Masalahnya adalah beberapa pustaka tidak kompatibel atau tidak menggunakan androidx sementara yang lain tidak. Terima kasih kepada Google untuk mentransfer semua dukungan lib ke androidx sekarang banyak perpustakaan mengalami konflik seperti ini dan saya kebanyakan pergi ke debug di mana lib memiliki masalah seperti mengomentari dan menghapus komentar lib dari pubspec.
Dengan asumsi plugin flutter_twitter adalah masalahnya.
Saya pikir Anda dapat mengubah gradle.properties untuk menggunakan androidx dan juga mengkompilasi versi ke 28 gradle.properties:
tambahkan dua baris ini, ubah classpath gradle
classpath 'com.android.tools.build:gradle:3.5.3'
dancompileSdkVersion 28
di flutter_twitter. Saya dapat membuat rilis build menggunakan plugin itu.juga terkadang lebih baik untuk membuka proyek android di studio android dan memperbarui semua hal dari mana Anda mungkin mendapatkan kesalahan sebelum menjalankan proyek flutter.
sumber
compileSdkVersion 28
telah ditetapkan dalam proyek dan saya baru saja berubah'com.android.tools.build:gradle:3.5.3'
dan mencoba membuat build byflutter build apk
dan mendapatkan masalah yang samaMasalahnya dengan
Execution failed for task ':flutter_twitter:verifyReleaseResources'.
tautan saya temukan untuk masalah ini flutter_twitter_login / issue # 12Tambahkan ketergantungan ini dalam
pubspec.yaml
file Anda dan beri tahu saya ini berfungsi atau tidak?sumber
Sepertinya
firebase_messaging
versi perpustakaan Anda tidak mendukung dukungan AndroidX. Pastikan Anda telah memperbarui versi perpustakaan ini.sumber
Anda perlu memperbarui compileSdkVersion dari modul flutter_twitter ke 28:
1 / Dalam proyek flutter Anda, cari folder "android" Anda dan buka sebagai proyek android di Android Studio.
2 / Rentangkan "Gradle Script" dan tunggu sampai memuat.
3 / Temukan "build.gradle (Module: flutter_twitter)"
4 / Ubah compileSdkVersion dari 27-> 28.
5 / Simpan perubahan.
Bangunan saya berhasil setelah itu. Jawabannya ada di sini: https://github.com/flutter/flutter/issues/32595
sumber
terima kasih, itu bekerja untuk saya untuk device_id: ^ 0,1.3 plugin yang dikonfigurasikan dengan cloud_firestore: ^ 0.13.4 + 2
Dalam proyek flutter Anda, cari folder "android" Anda dan buka sebagai proyek android di Android Studio.
Luaskan "Script Gradle" dan tunggu sampai memuat.
Temukan "build.gradle (Module: device_id)"
Ubah compileSdkVersion dari 27-> 28.
Simpan perubahannya.
sumber