#android-studio #gradle #flutter
#android-studio #gradle #флаттер
Вопрос:
Сегодня я обновил Android Studio, и мой проект flutter больше не работает. Сбой Gradle со следующим сообщением:
* Error running Gradle:
ProcessException: Process "C:Projectsfirebase_setup_appandroidgradlew.bat" exited abnormally:
> Configure project :app
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
WARNING: API 'variant.getJavaCompile()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getJavaCompile(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
WARNING: API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variant.getMergeAssets(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
WARNING: API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration-avoidance.
To determine what is calling variantOutput.getProcessResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
*********************************************************
WARNING: This version of firebase_auth will break your Android build if it or its dependencies aren't compatible with AndroidX.
See https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility for more information on the problem and how to fix it.
This warning prints for all Android build failures. The real root cause of the error may be unrelated.
*********************************************************
Command: C:Projectsfirebase_setup_appandroidgradlew.bat app:properties
Finished with error: Please review your Gradle project setup in the android/ folder.
Я попытался создать новый проект flutter в последней версии studio, и это работает нормально.
Похоже, проблема связана с тем фактом, что я использую сервисы Google Play и firebase в своем проекте. Я обновил сервисы Google до последней версии (4.2.0) и gradle до 3.4.0, следуя подсказке из IDE
Я обновил версию compiledSDKVersion с 27 до 28 в android / app / build.gradle
Я обновил версию gradle в android / gradle / gradle-wrapper.properties с 4.10.2 до 5.1.1, поскольку произошла несовместимость, и мне было предложено обновить.
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
#distributionUrl=https://services.gradle.org/distributions/gradle-4.10.2-all.zip
distributionUrl=https://services.gradle.org/distributions/gradle-5.1.1-all.zip
Я выполнил рефакторинг> перенести на AndroidX … и включил:
android.useAndroidX=true
android.enableJetifier=true
в файле gradle.properties
Я попытался очистить кеш с помощью «Файл> Аннулировать кеши и перезапустить …»
Я пробовал flutter clean и flutter doctor -v без каких-либо проблем:
C:Projectsfirebase_setup_app>flutter clean
Deleting 'build'.
Deleting 'C:Projectsfirebase_setup_app.dart_tool'.
C:Projectsfirebase_setup_app>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.2.1, on Microsoft Windows [Version 6.3.9600], locale en-GB)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[√] Android Studio (version 3.4)
[√] IntelliJ IDEA Community Edition (version 2018.3)
[√] Connected device (1 available)
• No issues found!
C:Projectsfirebase_setup_app>flutter doctor -v
[√] Flutter (Channel stable, v1.2.1, on Microsoft Windows [Version 6.3.9600], locale en-GB)
• Flutter version 1.2.1 at C:srcflutterflutter_windows_v1.0.0-stableflutter
• Framework revision 8661d8aecd (10 weeks ago), 2019-02-14 19:19:53 -0800
• Engine revision 3757390fa4
• Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at C:Androidsdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: C:Program FilesAndroidAndroid Studio1jrebinjava
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
• All Android licenses accepted.
[√] Android Studio (version 3.4)
• Android Studio at C:Program FilesAndroidAndroid Studio1
• Flutter plugin version 34.0.2
• Dart plugin version 183.5901
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
[√] IntelliJ IDEA Community Edition (version 2018.3)
• IntelliJ at C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2018.3.3
• Flutter plugin version 31.3.4
• Dart plugin version 183.5153.38
[√] Connected device (1 available)
• SM G930F • ce0616069dbace2f03 • android-arm64 • Android 8.0.0 (API 26)
• No issues found!
Я также обновил зависимости android / build.gradle:
dependencies {
classpath 'com.android.tools.build:gradle:3.4.0'
//classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.2.0'
}
Зависимости android / app / build.gradle следующие:
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-core:16.0.1'
}
apply plugin: 'com.google.gms.google-services'
мой pubspec.yaml включает в себя следующие плагины:
environment:
sdk: ">=2.0.0-dev.68.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
google_sign_in: ^4.0.1 3
firebase_auth: ^0.8.4 5
firebase_core: ^0.3.4
#firebase_core: any
firebase_database: ^2.0.3
Любые предложения по устранению, пожалуйста, с благодарностью!
Ответ №1:
Я думаю, что ваша проблема связана с androidX
[как я видел в ошибке], а также с тем фактом, что вы используете firebase_auth: ^0.8.4 5
.
1. используйте последнюю версию android Studio
- откройте свой проект flutter в android Studio, перейдите к рефакторингу, выберите Перенести на AndroidX.
- при появлении запроса открыть окно на новой вкладке [открыть в новом окне Android Studio] откроется папка вашего приложения Android, в этом окне снова выберите migrate to android X. когда процесс будет завершен, перейдите к нижней части и выберите рефакторинг. снова запустите приложение
надеюсь, это поможет проверить это:https://medium.com/@swhussain110/how-to-migrate-your-flutter-app-to-androidx-9a78eaaa924b
Комментарии:
1. Спасибо, я пробовал это изначально, но попробовал еще раз после вашего ответа. После этого я получаю всплывающее окно с сообщением «В проекте не найдено использований», и это не решило проблему.
2. Я только что поработал с medium artical и выполнил flutter> открыть модуль в Android Studio> часть нового окна. Похоже, что сборка завершается неудачно из-за несовместимости с плагином Kotlin, поскольку я получаю следующее сообщение: ОШИБКА: Плагин Android Gradle поддерживает только плагин Kotlin Gradle версии 1.3.10 и выше. Следующие зависимости не удовлетворяют требуемой версии: корневой проект «android» -> org.jetbrains. kotlin: kotlin-gradle-plugin:1.2.71 Затронутые модули: приложение
3. Провели рефакторинг и обновили Kotlin 1.3.30 с помощью Tools> Kotlin> Настроить обновления Kotlin и обновили gradle.build ext.kotlin_version = ‘1.3.30’, и теперь сборка выдает следующее сообщение: Завершено с ошибкой: ошибка сборки Gradle task assembleDebug с кодом выхода 1
4. Затем я нашел свои Google-сервисы. json отсутствовал на уровне приложения. Перемещение этого позволило мне провести рефакторинг и перейти на AndroidX. Теперь все проблемы исправлены!!!! Большое спасибо за помощь, парень из artical боролся в течение 10 дней, поэтому я рад, что спросил!!! Приветствия.