Я работаю над приложением Flutter . Я могу запустить приложение на устройстве Android успешно, но попробуйте сделать файл сборки ( .apk ) и получил ниже вопросы.
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.
Ниже представлены материалы проекта
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
Мое приложение совместимо с AndroidX, а также использовало множество решений, но не может решить мою проблему.
Я проверил
- https://github.com/roughike/flutter_twitter_login/issues/29
- Произошла ошибка при выполнении com.android.build.gradle.internal.tasks
- ошибка флаттера «Зависимость Android« androidx.core: core »отличается версия "с использованием flutter_local_notifications и пакетов местоположения
и другие.
Флаттер Доктор Результат:
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: Дайте мне знать, если вы хотите больше подробностей от моего конца.
gradle.properties
файла?Ответы:
Проблема в том, что некоторые библиотеки не совместимы или не используют androidx, в то время как другие. Благодаря google за перевод всей поддержки lib в androidx теперь многие библиотеки имеют конфликты, подобные этому, и я в основном отлаживаю, в какой из библиотек есть проблема, такая как комментирование и раскомментирование библиотеки libs от pubspec.
Предполагая, что плагин flutter_twitter был проблемой.
Я думаю, что вы можете изменить gradle.properties для использования androidx, а также скомпилировать версию до 28 gradle.properties:
Добавьте эти две строки, измените gradle classpath
classpath 'com.android.tools.build:gradle:3.5.3'
иcompileSdkVersion 28
в flutter_twitter. Я могу создать сборку релиза с помощью этого плагина.Также иногда лучше открыть Android-проект в Android-студии и обновить все, из-за чего вы можете получить ошибки, прежде чем запускать флаттер-проекты.
источник
compileSdkVersion 28
уже установлен в проекте, и я только что изменился'com.android.tools.build:gradle:3.5.3'
и попытался выполнить сборкуflutter build apk
и получил ту же проблемуПроблема в том, что
Execution failed for task ':flutter_twitter:verifyReleaseResources'.
я нашел ссылку для этой проблемы flutter_twitter_login / issue # 12Добавить эту зависимость в ваш
pubspec.yaml
файл и дайте мне знать, это работает или нет?источник
Похоже, что ваша
firebase_messaging
версия библиотеки не поддерживает AndroidX. Убедитесь, что вы обновили версию этой библиотеки.источник
Вам нужно обновить compileSdkVersion модуля flutter_twitter до 28:
1 / В своем проекте флаттера найдите папку «android» и откройте ее как проект Android в Android Studio.
2 / Разверните «Скрипты Gradle» и дождитесь его загрузки.
3 / Найдите «build.gradle (Module: flutter_twitter)»
4 / Измените compileSdkVersion с 27-> 28.
5 / Сохраните изменения.
Моя сборка сработала после этого. Ответ был здесь: https://github.com/flutter/flutter/issues/32595
источник
спасибо, у меня сработал для device_id: плагин ^ 0.1.3, конфликт с cloud_firestore: ^ 0.13.4 + 2
В своем проекте флаттера найдите папку «android» и откройте ее как Android-проект в Android Studio.
Разверните «Gradle Scripts» и дождитесь его загрузки.
Найдите "build.gradle (Module: device_id)"
Измените compileSdkVersion с 27-> 28.
Сохраните изменения.
источник