я получаю сообщение об ошибке, когда запускаю флаттер-ран
flutter run
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing gradle... 0.7s
Resolving dependencies... 0.9s
Running 'gradlew assembleDebug'...
Configuration 'debugCompile' in project ':app' is deprecated. Use 'debugImplementation' instead.
Configuration 'profileCompile' in project ':app' is deprecated. Use 'profileImplementation' instead.
Configuration 'releaseCompile' in project ':app' is deprecated. Use 'releaseImplementation' instead.
Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead.
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
Configuration 'debugProvided' in project ':apn_fb_login' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':apn_fb_login' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'debugProvided' in project ':firebase_messaging' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':firebase_messaging' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'debugProvided' in project ':google_sign_in' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':google_sign_in' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'debugProvided' in project ':image_picker' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':image_picker' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'debugProvided' in project ':share' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':share' is deprecated. Use 'releaseCompileOnly' instead.
Configuration 'debugProvided' in project ':shared_preferences' is deprecated. Use 'debugCompileOnly' instead.
Configuration 'releaseProvided' in project ':shared_preferences' is deprecated. Use 'releaseCompileOnly' instead.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:preDebugBuild'.
> Android dependency 'com.android.support:appcompat-v7' has different version for the compile (26.1.0) and runtime (27.0.1) classpath. You should manually set the same version via DependencyResolution
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 0s
Gradle build failed: 1
Мой файл gradle.build:
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withInputStream { stream ->
localProperties.load(stream)
}
}
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.")
}
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 26
buildToolsVersion '26.0.3'
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.shuttertop.app"
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.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
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
apply plugin: 'com.google.gms.google-services'
флаттер доктор:
[✓] Flutter (on Linux, locale en_US.UTF-8, channel alpha)
• Flutter at /home/luca/Programs/flutter
• Framework revision 8f65fec5f5 (4 weeks ago), 2017-12-12 09:50:14 -0800
• Engine revision edaecdc8b8
• Tools Dart version 1.25.0-dev.11.0
• Engine Dart version 2.0.0-edge.d8ae797298c3a6cf8dc9f4558707bd2672224d3e
[✓] Android toolchain - develop for Android devices (Android SDK 26.0.3)
• Android SDK at /home/luca/Android/Sdk
• Android NDK at /home/luca/Android/Sdk/ndk-bundle
• Platform android-26, build-tools 26.0.3
• ANDROID_HOME = /home/luca/Android/Sdk
• Java binary at: /home/luca/Programs/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
[✓] Android Studio (version 3.0)
• Android Studio at /home/luca/Programs/android-studio
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
[✓] Connected devices
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.0.0 (API 26) (emulator)
Я решил, добавив
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "26.1.0"
}
}
в раздел подпроектов в файле android/build.gradle
У меня точно такая же проблема. Не могли бы вы опубликовать весь код? Мне трудно добавить ваше решение в правильный файл build.gradle.
Спасибо
вот так
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "26.1.0"
}
}
}
}
Это сработало для меня. Спасибо.
Хотя я не понимаю, что он делает. Пожалуйста, не могли бы вы кратко объяснить его функцию?
извините, я не могу вспомнить, почему это произошло, я думаю, что эта ошибка связана с переносом проекта из более старой версии (например, 2.0.1) в новейшую (например, 3.0.1), также вам необходимо убедиться, что у вас есть загрузил соответствующие зависимости.
проверьте это, чтобы получить больше информации. https://stackoverflow.com/questions/47448502/could-not-resolve-com-android-supportappcompat-v726-1-0-in-android-studio-new
У меня была такая же проблема с плагином flutter map_view, добавленным
subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "26.1.0"
}
}
}
}
до конца android/build.gradle, и это решило проблему.
Спасибо @lalukz
представьте себе проблемы, когда мы переходим на пакеты Android Jetpack androidx
работал,
у меня были ошибки при использовании плагина обмена сообщениями clodfirestore и firebase, теперь он исчез, добавив указанную выше строку
также добавив следующую строку в файл градиента уровня приложения
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
Та же ошибка, но против
> Android dependency 'com.android.support:support-v4' has different version for the compile (27.0.1) and runtime (27.1.1) classpath. You should manually set the same version via DependencyResolution
Добавил это для решения.
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "27.0.1"
}
}
Когда я делаю это, мое приложение компилируется, но оно падает при запуске приложения без ошибок в журналах.
Я также сделал исправление 27.1.0, и оно вылетает при запуске приложения.
Есть ли способ решить эту проблему без карго-культивирования?
Я смог решить это другим способом. Может быть, это сработает для некоторых из тех, кто все еще испытывает трудности @dannnnthemannnn
В android/app/build.gradle
добавьте эту строку:
implementation "com.android.support:support-v4:27.1.1"
так это теперь выглядит так:
dependencies {
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.android.support:support-v4:27.1.1" // added this
}
Он работает, когда я добавляю, как показано ниже
subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "26.1.0"
}
}
}
}
решение работает нормально.
У меня была такая же проблема с плагином flutter map_view, добавленным
subprojects { project.configurations.all { resolutionStrategy.eachDependency { details -> if (details.requested.group == 'com.android.support' && !details.requested.name.contains('multidex') ) { details.useVersion "26.1.0" } } } }
до конца android/build.gradle, и это решило проблему.
Спасибо @lalukz
спасибо, это работает для меня
Я смог решить это другим способом. Может быть, это сработает для некоторых из тех, кто все еще испытывает трудности @dannnnthemannnn
В
android/app/build.gradle
добавьте эту строку:
implementation "com.android.support:support-v4:27.1.1"
так это теперь выглядит так:
dependencies { 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.android.support:support-v4:27.1.1" // added this }
Только это решение работает для моей ситуации. Тот, который изменил android/build.gradle, не работает.
У меня также была такая же проблема, и я решил ее, добавив
подпроекты {
проект.конфигурации.все {
разрешениеStrategy.eachDependency {детали ->
если (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex')) {
details.useВерсия "26.1.0"
}
}
}
}
в конце файла android/build.gradle
У меня также была такая же проблема, и я решил ее, добавив
подпроекты {
проект.конфигурации.все {
разрешениеStrategy.eachDependency {детали ->
если (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex')) {
details.useВерсия "26.1.0"
}
}
}
}в конце файла android/build.gradle
это решение работает для моей ситуации.
Самый полезный комментарий
вот так