Falló la ejecución de la tarea ': flutter_twitter: verificarReleaseResources'

9

Estoy trabajando en la aplicación Flutter . Puedo ejecutar la aplicación en el dispositivo Android con éxito, pero intento crear el archivo de compilación ( .apk ) y obtuve los siguientes problemas.

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.

Debajo están las cosas del proyecto

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

Mi aplicación es compatible con AndroidX y también probé con muchas soluciones, pero no puedo solucionar mi problema.

Lo comprobé
: https://github.com/roughike/flutter_twitter_login/issues/29
: se produjo un error al ejecutar com.android.build.gradle.internal.tasks
: error de aleteo "dependencia de Android 'androidx.core: core' tiene diferentes versión "usando flutter_local_notifications y paquetes de ubicación

y otros.

Flutter Doctor Resultado:

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

~ PD: Avísame si quieres más detalles de mi parte.

iPatel
fuente
¿Cuál es la versión de tu aleteo
Blasanka
@Blasanka Flutter (Canal beta, v1.12.13 + hotfix.6)
iPatel
¿Intentó agregar multiDex a verdadero? Si es así, puede intentarlo con un canal maestro o estable.
Blasanka
@Blasanka Ya he expuesto que los pls comprueban mi build.gradle archivo
iPatel
¿Puedes publicar el contenido de tu gradle.propertiesarchivo?
Harshvardhan Joshi el

Respuestas:

4

El problema es que algunas bibliotecas no son compatibles o no usan Androidx, mientras que otras sí. Gracias a Google por transferir todo el lib de soporte a androidx, ahora muchas bibliotecas tienen conflictos como este y principalmente voy a depurar qué lib tiene un problema como comentar y descomentar la lib de pubspec.

Asumiendo que el plugin flutter_twitter era el problema.

Como podemos comprobar, ese complemento de Twitter no usa el enlace de AndroidX, por lo que debemos cambiarlo nosotros mismos.

(Todos estos cambios deben cambiarse en el complemento de Twitter, no en el proyecto flutter)

Creo que puede cambiar gradle.properties para usar androidx y también compilar la versión a 28 gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

agregue estas dos líneas, cambie gradle classpath classpath 'com.android.tools.build:gradle:3.5.3' y compileSdkVersion 28en flutter_twitter. Puedo generar una versión de lanzamiento utilizando ese complemento.

Ohh, sí, puedes encontrar tu versión en caché del complemento en /Users/parth.dave/.pub-cache/hosted/pub.dartlang.org/flutter_twitter_login-1.1.0/algo como esto, donde puedes actualizarlo. o abra la carpeta de Android en androidstudio y studio le mostrará la aplicación de dos proyectos y Twitter donde puede actualizar estas cosas.

También a veces es mejor abrir un proyecto de Android en el estudio de Android y actualizar todas las cosas de las que puede obtener errores antes de ejecutar proyectos de flutter.

Parth Dave
fuente
Espero que esto pueda resolver tu problema. si no comenta, intentaré encontrar otra solución.
Parth Dave
Gracias por la respuesta pratik, en realidad, acabo de crear un nuevo proyecto en Fluter donde "android.useAndroidX = true, android.enableJetifier = true" y compileSdkVersion 28ya lo configuré en el proyecto y simplemente cambié 'com.android.tools.build:gradle:3.5.3'e intenté hacer la compilación flutter build apky obtuve el mismo problema
iPatel
No, no, estaba hablando de cambiar la configuración del complemento de Twitter, no la configuración de su proyecto.
Parth Dave
Sí. Tengo solución, gracias
iPatel
5

El problema es con elExecution failed for task ':flutter_twitter:verifyReleaseResources'. enlace que encontré para este problema flutter_twitter_login / issue # 12

Agregue esta dependencia en su pubspec.yamlarchivo y hágamelo saber si funciona o no.

flutter_twitter_login: 
  git: git://github.com/eudangeld/flutter_twitter_login.git
Arkansas
fuente
0

Parece que la firebase_messagingversión de su biblioteca no es compatible con AndroidX. Asegúrese de tener una versión actualizada de esta biblioteca.

dependencies:
  firebase_messaging: ^6.0.9
KumarSunil17
fuente
Estoy usando la última
iPatel
0

Necesita actualizar la compileSdkVersion del módulo flutter_twitter a 28:

1 / En su proyecto flutter, ubique su carpeta "android" y ábrala como un proyecto de Android en Android Studio.

2 / Expanda "Gradle Scripts" y espere a que se cargue.

3 / Localice "build.gradle (Módulo: flutter_twitter)"

4 / Modifique la compileSdkVersion de 27-> 28.

5 / Guardar los cambios.

Mi construcción funcionó después de eso. La respuesta estaba aquí: https://github.com/flutter/flutter/issues/32595

Florian Lavorel
fuente
0

gracias, funcionó para mí para device_id: ^ 0.1.3 plugin conflit con cloud_firestore: ^ 0.13.4 + 2

  1. En su proyecto flutter, busque su carpeta "android" y ábrala como un proyecto de Android en Android Studio.

  2. Expanda "Gradle Scripts" y espere a que se cargue.

  3. Busque "build.gradle (Módulo: id_dispositivo)"

  4. Modifique la compileSdkVersion de 27-> 28.

  5. Guarda los cambios.

Om28dz Alg
fuente