私は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の実行中にエラーが発生しました
- flutterエラー「flutter_local_notificationsとロケーションパッケージを使用したAndroid依存関係「androidx.core:core」のバージョンが異なる」
その他。
フラッタードクターの結果:
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:私の側からさらに詳細が必要かどうかをお知らせください。
問題は、一部のライブラリが互換性がないか、androidxを使用していない一方で、他のライブラリは互換性があることです。すべてのサポートlibをandroidxに転送してくれたgoogleに感謝します。多くのライブラリーでこのような競合が発生しており、ほとんどの場合、どのlibにpubspecからのコメントやコメント解除などの問題があるかをデバッグします。
Flutter_Twitterプラグインが問題であると想定します。
それを確認できるように、AndroidXを使用しないTwitterプラグイン link なので、自分で変更する必要があります。
(これらすべての変更は、フラッタープロジェクトではなく、Twitterプラグインで変更する必要があります)
Gradle.propertiesを変更してandroidxを使用し、バージョンを28 gradle.propertiesにコンパイルすることもできると思います。
Android.useAndroidX=true
Android.enableJetifier=true
この2行を追加し、flutter_TwitterでGradleクラスパスclasspath 'com.Android.tools.build:gradle:3.5.3'
とcompileSdkVersion 28
を変更します。そのプラグインを使用してリリースビルドを生成できます。
ああ、キャッシュされたプラグインのバージョンは
/Users/parth.dave/.pub-cache/hosted/pub.dartlang.org/flutter_Twitter_login-1.1.0/
で見つけることができます。このような場所で更新できます。または、open Androidフォルダーのいずれかで、2つのプロジェクトアプリとTwitterが表示され、そこで更新できます。
また、AndroidプロジェクトをAndroid studioで開いて、フラッタープロジェクトを実行する前にエラーが発生する可能性があるものをすべて更新することをお勧めします。
問題は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
firebase_messaging
ライブラリバージョンはAndroidXサポートをサポートしていません。このライブラリのバージョンが更新されていることを確認してください。
dependencies:
firebase_messaging: ^6.0.9
Flutter_TwitterモジュールのcompileSdkVersionを28に更新する必要があります。
1/flutterプロジェクトで、「Android」フォルダーを探し、AndroidプロジェクトAndroid Studio。
2 /「Gradle Scripts」を展開して、ロードされるまで待ちます。
3 /「build.gradle(モジュール: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
Flutterプロジェクトで「Android」フォルダーを探し、Android project in Android Studio。
「Gradle Scripts」を展開して、ロードされるまで待ちます。
「build.gradle(モジュール:device_id)」を見つけます
CompileSdkVersionを27-> 28から変更します。
変更を保存します。