任务':flutter_twitter:verifyReleaseResources'的执行失败


9

我正在使用Flutter应用。我可以在android设备上成功运行应用,但是尝试制作build .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:核心’有不同版本”使用flutter_local_notifications和位置包

和别的。

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:让我知道您是否需要我的更多细节。


您的
拍打

@Blasanka Flutter(Channel beta,v1.12.13 + hotfix.6)
iPatel

您是否尝试过将multiDex添加为true,如果可以的话,可以尝试使用主频道还是稳定频道。
Blasanka '19

@Blasanka我已经设置好,请检查我的build.gradle文件
iPatel

您可以发布gradle.properties文件内容吗?
Harshvardhan Joshi

Answers:


4

问题是某些库不兼容,或者某些库不使用androidx。多亏了Google将所有支持库转移到androidx上,现在许多库都发生了这样的冲突,而我主要去调试其中的库存在诸如从pubspec注释和取消注释库之类的问题。

假设是flutter_twitter插件是问题所在。

正如我们可以检查的那样,该twitter插件未使用AndroidX 链接,因此我们需要自行更改它。

(所有这些更改都需要在Twitter插件中进行更改,而不是在Flutter项目中进行更改)

我认为您可以将gradle.properties更改为使用androidx,还可以将版本编译为28 gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

添加这两行,更改gradle类路径, 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/是的,您可以在类似的位置找到插件的缓存版本,在此可以对其进行更新。或在androidstudio和studio中打开android文件夹将向您显示两个项目app和twitter,您可以在其中更新这些内容。

有时最好在android studio中打开android项目并更新所有可能会出错的东西,然后再运行flutter项目。


希望这可以解决您的问题。如果没有发表评论,我将尝试寻找另一种解决方案。
Parth Dave

感谢您的回答,实际上,我刚刚在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

我正在使用最新的版本
-iPatel

0

您需要将flutter_twitter模块的compileSdkVersion更新为28:

1 /在flutter项目中,找到“ android”文件夹,然后在Android Studio中将其作为android项目打开。

2 /展开“ Gradle Scripts”,然后等待其加载。

3 /找到“ build.gradle(模块:flutter_twitter)”

4 /从27-> 28修改compileSdkVersion。

5 /保存更改。

在那之后,我的构建工作了。答案在这里:https : //github.com/flutter/flutter/issues/32595


0

谢谢,它为我的device_id:^ 0.1.3插件与cloud_firestore冲突:^ 0.13.4 + 2

  1. 在flutter项目中,找到“ android”文件夹,然后在Android Studio中将其作为android项目打开。

  2. 展开“ Gradle Scripts”,然后等待其加载。

  3. 找到“ build.gradle(模块:device_id)”

  4. 从27-> 28修改compileSdkVersion。

  5. 保存更改。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.