#android #gradle #flutter #dependencies #classpath
#Android #gradle #flutter #зависимости #путь к классу
Вопрос:
Эта проблема возникает при обновлении пути к классу зависимостей с ‘com.android.tools.build:gradle: 3.2.1’ на *’com.android.tools.build: gradle: 3.3.2′
сборка на уровне .gradle
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
сборка на уровне .gradle
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 28
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "org.company.com.flutter_app"
minSdkVersion 19
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
}
pubspec.yaml
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
dev_dependencies:
flutter_test:
sdk: flutter
flutter_svg: ^0.12.0
printing: ^2.0.0
image: ^2.0.7
Комментарии:
1. используете ли вы какой-либо плагин? Сбой сборки Android x Gradle часто возникает при использовании плагина, который несовместим с Android x. также убедитесь, что вы обновили Android studio.
2. Используемые зависимости:: flutter_svg: ^ 0.12.0 изображение: ^ 2.0.7
3. @jazzbpn, пожалуйста, поделитесь ошибкой, а также файлом app / build.gradle.
4. Вы могли бы просто избежать AndroidX .. проверьте эту ссылку flutter.dev/docs /development /packages-and-plugins / …
Ответ №1:
добавьте это в android / gradle.properties:
android.useAndroidX=true
android.enableJetifier=true
Ссылка:https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility
Комментарии:
1. После добавления приведенных выше строк
android/gradle.properties
обязательно обновите зависимости gradle вapp/build.gradle
, такие как: « dependencies { … androidTestImplementation ‘androidx.test: runner: 1.1.0’ androidTestImplementation ‘androidx.test.espresso: espresso-core: 3.1.0’ … « Ссылка: blog.wafrat.com/flutter-androidx-migration
Ответ №2:
У меня возникла та же проблема, после проверки этих 2 ссылок:https://flutter.dev/docs/deployment/android
и proguard. Единственное, что сработало для меня, это удаление minifyEnabled true
fom build.graddle.graddle.
Надеюсь, это кому-то поможет.
Комментарии:
1. Если вы удалите эту строку, ваш код не будет запутан, вам следует исправить, добавив правила proguard
Ответ №3:
Похоже, вы используете зависимость Flutter, которая несовместима с Androidx, попробуйте прокомментировать недавнюю зависимость и повторно запустить ее, если это работает, попробуйте использовать зависимость, совместимую с Androidx
Ответ №4:
Убедитесь, что все ресурсы используются.
тогда flutter pub get
тогда flutter pub upgrade
тогда flutter pup outdated
.