Не удалось выполнить задачу ': flutter_twitter: verifyReleaseResources'

9

Я работаю над приложением 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: Дайте мне знать, если вы хотите больше подробностей от моего конца.

iPatel
источник
Какая версия вашего трепетания
Бласанка
@Blasanka Flutter (Канал бета, v1.12.13 + hotfix.6)
iPatel
Вы пытались добавить multiDex в true, если это так, если вы можете попробовать мастер или стабильный канал.
Бласанка
@Blasanka Я уже установил, что, пожалуйста, проверьте мой файл
build.gradle
Вы можете опубликовать содержимое вашего gradle.propertiesфайла?
Харшвардхан Джоши

Ответы:

4

Проблема в том, что некоторые библиотеки не совместимы или не используют androidx, в то время как другие. Благодаря google за перевод всей поддержки lib в androidx теперь многие библиотеки имеют конфликты, подобные этому, и я в основном отлаживаю, в какой из библиотек есть проблема, такая как комментирование и раскомментирование библиотеки libs от pubspec.

Предполагая, что плагин flutter_twitter был проблемой.

Как мы можем убедиться, этот плагин в твиттере не использует ссылку AndroidX, поэтому нам нужно изменить его самостоятельно.

(все эти изменения необходимо изменить в твиттере, а не в проекте флаттера)

Я думаю, что вы можете изменить gradle.properties для использования androidx, а также скомпилировать версию до 28 gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

Добавьте эти две строки, измените gradle classpath classpath 'com.android.tools.build:gradle:3.5.3' и compileSdkVersion 28в flutter_twitter. Я могу создать сборку релиза с помощью этого плагина.

О, да, вы можете найти свою кэшированную версию плагина в /Users/parth.dave/.pub-cache/hosted/pub.dartlang.org/flutter_twitter_login-1.1.0/чем-то вроде этого, где вы можете обновить его. или откройте папку android в androidstudio, и студия покажет вам два проекта приложения и твиттер, где вы можете обновить эти вещи.

Также иногда лучше открыть Android-проект в Android-студии и обновить все, из-за чего вы можете получить ошибки, прежде чем запускать флаттер-проекты.

Парт Дэйв
источник
надеюсь, что это может решить вашу проблему. оставьте комментарий, если нет, я постараюсь найти другое решение.
Parth Dave
Спасибо за ответ pratik, На самом деле я только что создал новый проект во Fluter, где «android.useAndroidX = true, android.enableJetifier = true» и compileSdkVersion 28уже установлен в проекте, и я только что изменился 'com.android.tools.build:gradle:3.5.3'и попытался выполнить сборку flutter build apkи получил ту же проблему
iPatel
Нет-нет, я говорил об изменении настроек плагина Twitter, а не настроек вашего проекта.
Parth Dave
Да .. Я получил решение, Спасибо
iPatel
5

Проблема в том, чтоExecution failed for task ':flutter_twitter:verifyReleaseResources'. я нашел ссылку для этой проблемы flutter_twitter_login / issue # 12

Добавить эту зависимость в ваш pubspec.yamlфайл и дайте мне знать, это работает или нет?

flutter_twitter_login: 
  git: git://github.com/eudangeld/flutter_twitter_login.git
Арканзас
источник
0

Похоже, что ваша firebase_messagingверсия библиотеки не поддерживает AndroidX. Убедитесь, что вы обновили версию этой библиотеки.

dependencies:
  firebase_messaging: ^6.0.9
KumarSunil17
источник
Я использую последний
iPatel
0

Вам нужно обновить 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

Флориан Лаворель
источник
0

спасибо, у меня сработал для device_id: плагин ^ 0.1.3, конфликт с cloud_firestore: ^ 0.13.4 + 2

  1. В своем проекте флаттера найдите папку «android» и откройте ее как Android-проект в Android Studio.

  2. Разверните «Gradle Scripts» и дождитесь его загрузки.

  3. Найдите "build.gradle (Module: device_id)"

  4. Измените compileSdkVersion с 27-> 28.

  5. Сохраните изменения.

Om28dz Alg
источник