API ‘variant.getExternalNativeBuildTasks ()’는 더 이상 사용되지 않으며 ‘variant.getExternalNativeBuildProviders ()로 대체되었습니다. // in

gradle 플러그인 버전과 함께 Android Studio 3.3 Canary 11 사용 3.3.0-alpha11. gradle을 동기화하려고 할 때 다음 오류가 발생합니다.

WARNING: API 'variant.getExternalNativeBuildTasks()' is obsolete and has been
replaced with 'variant.getExternalNativeBuildProviders()'.
It will be removed at the end of 2019.
For more information, see https://d.android.com/r/tools/task-configuration- 
avoidance
Affected Modules: app

오류를 클릭하면 gradle 파일 에서이 줄로 연결됩니다

applicationVariants.all { variant ->
            variant.outputs.all {
                outputFileName = "${variant.name}-${variant.versionName}.apk"
            }
        }

여기서 정확히 무엇을 변경해야합니까?

계획 build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        mavenCentral() // jcenter() works as well because it pulls from Maven Central
        maven { url "https://maven.google.com" }
        google()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0-alpha11'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath "io.realm:realm-gradle-plugin:4.1.1"
        classpath 'com.google.gms:google-services:3.2.1'
        classpath 'com.google.firebase:firebase-plugins:1.1.5'
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://maven.google.com" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

// Define versions in a single place
ext {
    // Sdk and tools
    minSdkVersion = 21
    targetSdkVersion = 27
    compileSdkVersion = 27
    buildToolsVersion = '27.0.3'

    // App dependencies
    supportLibraryVersion = '27.1.1'
    appCompactLibraryVersion = '27.1.1'
    playServicesVersion = '15.0.1'
    firebaseVersionCore = '16.0.1'
    firebaseVersionPerf = '16.0.0'
    firebaseVersionMessaging = '17.1.0'

    //lottie
    lottieVersion = '2.5.0'
}

앱 build.gradle

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.25.4'
    }
    buildscript {
        repositories {
            maven { url "https://maven.google.com" }
            maven { url 'https://maven.fabric.io/public' }
            mavenCentral()

        }

        dependencies {
            // These docs use an open ended version so that our plugin
            // can be updated quickly in response to Android tooling updates

            // We recommend changing it to the latest version from our changelog:
            // https://docs.fabric.io/android/changelog.html#fabric-gradle-plugin
            classpath 'io.fabric.tools:gradle:'
        }
    }
}
apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-perf'
repositories {
    maven { url 'https://maven.fabric.io/public' }
}

apply plugin: 'io.fabric'
apply plugin: 'realm-android'

android {

    realm {
        syncEnabled = false
    }

    dexOptions {
        javaMaxHeapSize "4g"
    }

    compileSdkVersion rootProject.ext.compileSdkVersion

    defaultConfig {
        applicationId "example.com"
        minSdkVersion rootProject.ext.minSdkVersion
        multiDexEnabled true
        versionCode mVersionCode
        versionName mVersionName
        vectorDrawables.useSupportLibrary = true

    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    buildTypes {

        applicationVariants.all { variant ->
            variant.outputs.all {
                outputFileName = "${variant.name}-${variant.versionName}.apk"
            }
        }

        release {
            shrinkResources true
            minifyEnabled true
            useProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            lintOptions {
                disable 'MissingTranslation'
            }

            applicationVariants.all { variant ->
                variant.outputs.all {
                    outputFileName = "${variant.name}-${variant.versionName}.apk"
                }
            }

        }
        debug {
            shrinkResources true
            minifyEnabled true
            useProguard true
            debuggable true
            versionNameSuffix '-DEBUG'
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'debug-proguard-rules.pro'

            ext.enableCrashlytics = false
            crunchPngs false

        }
    }

    flavorDimensions "default"

    lintOptions {

        checkReleaseBuilds false

    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
    }
    buildToolsVersion '28.0.2'
}

configurations {
    implementation.exclude group: "org.apache.httpcomponents", module: "httpclient"
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')

    implementation "com.android.support:appcompat-v7:$rootProject.appCompactLibraryVersion"
    implementation "com.android.support:support-compat:$rootProject.supportLibraryVersion"
    implementation "com.android.support:mediarouter-v7:$rootProject.supportLibraryVersion"
    implementation "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
    implementation "com.android.support:design:$rootProject.supportLibraryVersion"


    api 'com.squareup.retrofit2:retrofit:2.4.0'
    api 'com.squareup.okhttp3:okhttp:3.11.0'
    api 'com.squareup.okhttp3:logging-interceptor:3.10.0'
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.3.0'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.daimajia.easing:library:2.0@aar'
    implementation 'com.daimajia.androidanimations:library:2.3@aar'

    implementation 'com.akexorcist:googledirectionlibrary:1.0.5'
    implementation 'io.reactivex:rxandroid:1.2.1'
    implementation 'io.reactivex:rxjava:1.3.0'
    // Wifi hotspot library
    implementation 'cc.mvdan.accesspoint:library:0.2.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'org.jsoup:jsoup:1.10.3'
    api "com.airbnb.android:lottie:$rootProject.lottieVersion"
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    testImplementation 'junit:junit:4.12'
    implementation 'com.jakewharton:butterknife:8.8.1'

    debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
    releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'

    implementation 'com.googlecode.libphonenumber:libphonenumber:8.2.0'

    implementation "com.google.android.gms:play-services-base:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-cast-framework:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-auth:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-identity:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-awareness:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-cast:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-drive:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-location:$rootProject.playServicesVersion"
    implementation "com.google.android.gms:play-services-maps:$rootProject.playServicesVersion"

    implementation "com.google.firebase:firebase-core:$rootProject.firebaseVersionCore"
    implementation "com.google.firebase:firebase-perf:$rootProject.firebaseVersionPerf"
    implementation "com.google.firebase:firebase-messaging:$rootProject.firebaseVersionMessaging"
    implementation "com.google.firebase:firebase-analytics:$rootProject.firebaseVersionCore"


    api('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
        transitive = true
    }
    api('com.crashlytics.sdk.android:answers:1.4.1@aar') {
        transitive = true
    }
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    api project(path: ':libraryBTHelper')
    api project(':bkk_rush')

    debugApi 'com.amitshekhar.android:debug-db:1.0.3'
    api "org.jdeferred:jdeferred-android-aar:1.2.6"
    implementation 'com.android.support:gridlayout-v7:27.1.1'
}

apply plugin: 'com.google.gms.google-services'

app / build.gradle 파일에서 몇 가지 상수 및 기타 민감한 정보를 생략했습니다.



답변

최신 릴리스에서 문제가 해결되었습니다. 'io.fabric.tools:gradle:1.30.0'

두 gradle fabric 도구를 1.30.0으로 업데이트하십시오

buildscript {
  // ... repositories, etc. ...

   dependencies {
       // ...other dependencies ...
       classpath 'io.fabric.tools:gradle:1.30.0'
   }
}

자세한 내용은 https://github.com/firebase/firebase-android-sdk/issues/198#issuecomment-473435453


답변

편집하다

이 문제는 Fabric 1.28.0 에서 수정되었습니다 . 당신의에서 build.gradle프로젝트 레벨의 다음 줄을 추가합니다 :

classpath 'io.fabric.tools:gradle:1.28.1'

이전 답변

Android Studio를 3.3.0으로 업데이트 한 후에 발생합니다. apply plugin: 'io.fabric'원인입니다. 이 문제에 대한 버그 보고서를 Firebase 팀에 보냈습니다.

3 가지 옵션이 있습니다.

  • 다음 버전의 Fabric 플러그인이 릴리스 될 때까지 기다리십시오. 여기 에서 최신 버전을 확인 하십시오 .

  • Android Studio 3.2.1로 다운 그레이드합니다 .

  • io.fabric플러그인을 주석 처리하십시오 .

에서 build.gradle앱의 모듈 :

apply plugin: 'com.android.application'
// apply plugin: 'io.fabric' <== this plugin causes the error

그러나이 오류가 발생하더라도 프로젝트를 빌드하고 실행할 수 있습니다. 그냥 무시해


답변

application build.gradle에서 안정된 gradle 버전으로 다운 그레이드하십시오.

classpath 'com.android.tools.build:gradle:3.2.1'

Android Studio를 3.3으로 업데이트 한 후에 문제가 해결 될 때까지 임시 솔루션입니다!

편집 : 당신은 당신의 안드로이드 스튜디오를 다운 그레이드 할 필요가 없습니다!


답변

업데이트
오늘 부터이classpath 'io.fabric.tools:gradle:1.28.0' 문제를 해결 하는 데 사용할 수 있습니다 !

앱 gradle 파일에서 Crashlytics의 플러그인 io.fabric을 주석 처리 하면 일시적으로 작동 한 경우

//apply plugin: 'io.fabric'

그런 다음 Project gradle 파일에서 fabric gradle 종속성을 업그레이드하면 문제가 영구적으로 해결됩니다.

classpath 'io.fabric.tools:gradle:1.27.0'

NB : 경고는 제거하지 않지만 AS3.3 +에서 Crashlytics를 사용할 수 있습니다


답변

실제 문제가 무엇인지 모르지만 프로젝트 해결 문제에서 crashlytics 관련 종속성을 주석 처리하십시오.


답변

Crashlytics의 버그로 확인되었으며 현재 작업 중입니다.

https://issuetracker.google.com/issues/116408637

Google 담당자로부터 인용 한 내용 :

je … @ google.com # 23 2019 년 1 월 23 일 01:40 AM
안녕 모두,

양해 해 주셔서 감사합니다.

모든 경우의 버그는 crashlytics에서 발생하는 것으로 보이며 버그를 제기했습니다.

난 당신이 상태를 업데이트 유지합니다.

나를 위해 디버그 응용 프로그램은 Crashlytics 또는 Fabric을 주석 처리하지 않고 경고를 실행하고 무시하면 장치에서 정상적으로 작동합니다. 나는 생산을 시도하지 않았습니다.

최신 정보:

Google Issue Tracker는 모든 문제가 Crashlytics에서 왔기 때문에이 문제를 해결하지 않음 (불가능)으로 표시했으며 Crashlytics 팀에서 수정했습니다 (동일한 Google 직원 임에도 불구하고).

Crashlytics 업데이트를 위해이 링크를 따라가는 것이 좋습니다.

https://github.com/firebase/firebase-android-sdk/issues/198

참고 : Craslytics를 주석 처리하지 않고 io.fabric.tools:gradle:1.26.0과 함께 Android Studio 3.3을 계속 사용하고 있으며 디버그 앱에서 제대로 작동합니다.

최신 정보:

프로덕션 / 릴리스 버전 앱에서 제대로 작동하는지 확인할 수 있습니다. 작동하는지 어떻게 알 수 있습니까? 충돌 보고서를 다시 보냈기 때문에 -_- ‘

어쨌든 경고를 무시하고 결국 수정해야합니다.

Aww, 방금 직물 1.28.0으로 고정되었다는 것을 읽으십시오. 🙂


답변

2019/01/24의 최신 뉴스

여기에 이미지 설명을 입력하십시오

https://issuetracker.google.com/issues/116408637 여기에 정보

Crashlytics가 해결책을 제시 할 때까지 기다려야합니다. 여기 GitHub 문제가 열렸습니다.

https://github.com/firebase/firebase-android-sdk/issues/198

io.fabric 플러그인을 언급하지 않기 위해 지금 사용하고있는 유일한 방법 은 내 gradle을 다운 그레이드하고 패브릭 클래스 경로를 업그레이드하는 것입니다 (이는 프로덕션 앱에서 작동합니다)

 dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.2.0'
        classpath 'io.fabric.tools:gradle:1.27.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }