Flutter: 'com.android.support:appcompat-v7'μ—λŠ” 컴파일(26.1.0) 및 λŸ°νƒ€μž„(27.0.1) 클래슀 κ²½λ‘œμ— λŒ€ν•œ 버전이 λ‹€λ¦…λ‹ˆλ‹€.

에 λ§Œλ“  2018λ…„ 01μ›” 10일  Β·  19μ½”λ©˜νŠΈ  Β·  좜처: flutter/flutter

flutter run을 μ‹€ν–‰ν•  λ•Œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

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)

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

이 κ°™λ‹€

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"
            }
        }
    }
}

λͺ¨λ“  19 λŒ“κΈ€

μΆ”κ°€ν•˜μ—¬ ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

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 λ©”μ‹œμ§• plgin을 λͺ¨λ‘ μ‚¬μš©ν•˜λŠ” λ™μ•ˆ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. 이제 μœ„μ˜ 쀄을 μΆ”κ°€ν•˜λ©΄ μ‚¬λΌμ§‘λ‹ˆλ‹€.
λ˜ν•œ μ•± μˆ˜μ€€ gradle νŒŒμΌμ— λ‹€μŒ 쀄을 μΆ”κ°€ν•©λ‹ˆλ‹€.

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
}

react-community의 κ²Œμ‹œλ¬Όμ—μ„œ .

μ•„λž˜μ™€ 같이 μΆ”κ°€ν•˜λ©΄ μž‘λ™ν•©λ‹ˆλ‹€.

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
}

react-community의 κ²Œμ‹œλ¬Όμ—μ„œ .

이 μ†”λ£¨μ…˜ 만 λ‚΄ μƒν™©μ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€. android/build.gradle을 λ³€κ²½ν•˜λŠ” 것이 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” λ˜ν•œ 같은 λ¬Έμ œκ°€ μžˆμ—ˆκ³  μΆ”κ°€ν•˜μ—¬ ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

ν•˜μœ„ ν”„λ‘œμ νŠΈ {
project.configurations.all {
resolutionStrategy.eachDependency { μ„ΈλΆ€ 정보 ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('λ©€ν‹°λ±μŠ€') ) {
details.use버전 "26.1.0"
}
}
}
}

android/build.gradle 파일의 λμ—μ„œ

λ‚˜λŠ” λ˜ν•œ 같은 λ¬Έμ œκ°€ μžˆμ—ˆκ³  μΆ”κ°€ν•˜μ—¬ ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

ν•˜μœ„ ν”„λ‘œμ νŠΈ {
project.configurations.all {
resolutionStrategy.eachDependency { μ„ΈλΆ€ 정보 ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('λ©€ν‹°λ±μŠ€') ) {
details.use버전 "26.1.0"
}
}
}
}

android/build.gradle 파일의 λμ—μ„œ

이 μ†”λ£¨μ…˜μ€ λ‚΄ μƒν™©μ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰