작업 ': flutter_twitter : verifyReleaseResources'에 대한 실행 실패


9

Flutter 앱 을 만들고 있습니다. 안드로이드 장치에서 앱을 성공적으로 실행할 수는 있지만 빌드 ( .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 실행하는 동안 오류가 발생
- 플러터 오류 "안드로이드 의존성 '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 : 끝에서 더 자세한 정보를 원하면 알려주세요.


Flutter의 버전은 무엇입니까
Blasanka

@Blasanka Flutter (채널 베타, v1.12.13 + hotfix.6)
iPatel

마스터 또는 안정적인 채널로 시도 할 수 있다면 multiDex를 true에 추가하려고 했습니까?
Blasanka

@Blasanka 나는 이미 pls가 내 build.gradle 파일을 확인하도록 설정했습니다
iPatel

gradle.properties파일 내용을 게시 할 수 있습니까?
Harshvardhan Joshi

답변:


4

문제는 일부 라이브러리가 호환되지 않거나 androidx를 사용하지 않는 반면 다른 라이브러리는 그렇지 않다는 것입니다. 모든 지원 lib를 androidx로 전송하는 Google 덕분에 이제 이와 같은 충돌이있는 많은 라이브러리가 있으며 pubspec에서 lib를 주석 처리하고 주석 처리를 제거하는 것과 같은 문제가있는 lib를 주로 디버깅합니다.

flutter_twitter 플러그인이 문제라고 가정합니다.

우리가 확인할 수 있듯이 Twitter 플러그인은 AndroidX 링크를 사용하지 않으므로 자체 변경해야합니다.

(이 모든 변경 사항은 flutter 프로젝트가 아닌 Twitter 플러그인에서 변경해야합니다)

gradle.properties를 androidx를 사용하도록 변경하고 버전을 28 gradle.properties로 컴파일 할 수 있다고 생각합니다.

android.useAndroidX=true
android.enableJetifier=true

이 두 줄을 추가하고 gradle classpath classpath 'com.android.tools.build:gradle:3.5.3' 와 flutter_twitter를 변경 compileSdkVersion 28하십시오. 해당 플러그인을 사용하여 릴리스 빌드를 생성 할 수 있습니다.

Ohh yah 당신은 당신 /Users/parth.dave/.pub-cache/hosted/pub.dartlang.org/flutter_twitter_login-1.1.0/이 그것을 업데이트 할 수있는 이와 같은 곳 에서 캐시 된 플러그인 버전을 찾을 수 있습니다. 또는 androidstudio 및 studio에서 android 폴더를 열면이 프로젝트를 업데이트 할 수있는 두 개의 프로젝트 앱과 트위터가 표시됩니다.

또한 때로는 안드로이드 스튜디오에서 안드로이드 프로젝트를 열고 flutter 프로젝트를 실행하기 전에 오류가 발생할 수있는 모든 것을 업데이트하는 것이 좋습니다.


이것이 문제를 해결할 수 있기를 바랍니다. 그렇지 않으면 다른 해결책을 찾으려고 노력할 것입니다.
Parth Dave

답변 pratik 주셔서 감사합니다, 실제로 방금 "android.useAndroidX = true, android.enableJetifier = true"인 Fluter에서 새 프로젝트를 만들고 프로젝트에 compileSdkVersion 28이미 설정했으며 방금 변경 'com.android.tools.build:gradle:3.5.3'하여 flutter build apk동일한 문제를
겪었습니다.

아니요 아니요 프로젝트 설정이 아닌 트위터 플러그인 설정을 변경하는 것에 대해 이야기했습니다.
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 / compileSdkVersion을 27-> 28에서 수정하십시오.

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. compileSdkVersion을 27-> 28에서 수정하십시오.

  5. 변경 사항을 저장하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.