android - API 'variant.getExternalNativeBuildTasks()' अप्रचलित है और इसे 'variant.getExternalNativeBuildProviders() के साथ बदल दिया गया है




firebase android-studio (14)

01/24/2019 से नवीनतम समाचार

यहां जानकारी issuetracker.google.com/issues/116408637

हमें इस बात का इंतजार करना होगा कि क्रशटालिक्स एक समाधान के साथ आया, यहां गीताभ अंक खोला गया है

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
    }

एंड्रॉइड स्टूडियो 3.3 कैनरी 11 को 3.3.0-alpha11 प्लगइन संस्करण 3.3.0-alpha11 11 के साथ उपयोग करना। जब सिंक सिंक करने की कोशिश कर रहा है तो यह निम्न त्रुटि है

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

त्रुटि पर क्लिक करने से मुझे इस लाइन में ढ़ाल फ़ाइल में ले जाया जाता है

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

app 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:[email protected]'
    implementation 'com.daimajia.androidanimations:library:[email protected]'

    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:[email protected]') {
        transitive = true
    }
    api('com.crashlytics.sdk.android:answers:[email protected]') {
        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'

मैंने ऐप / build.gradle फ़ाइल में कुछ स्थिरांक और अन्य संवेदनशील जानकारी को छोड़ दिया है।


अनुप्रयोग build.gradle में, ग्रेडेल के इस स्थिर संस्करण को डाउनग्रेड करें:

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

ऐसा तब होता है जब मैंने एंड्रॉइड स्टूडियो को 3.3 पर अपडेट किया, जब तक वे इसे ठीक नहीं करते!

संपादित करें: आपको अपने Android स्टूडियो को डाउनग्रेड करने की आवश्यकता नहीं है!


जब मैंने प्रोजेक्ट खोला, तो मैंने दबाया कि Run migrations बटन Android Studio से दाहिने निचले कोने पर दिखाई देता है। एक माइग्रेशन किया गया था और समस्या को Crashlytics निर्भरता पर टिप्पणी किए बिना हल किया गया था।


जैसा कि कहा गया था, समस्या फैब्रिक / क्रैशलाईटिक्स के साथ है।

apply plugin: 'io.fabric'

यह Crashlytics / Firebase की तरफ एक बग है, कृपया निम्नलिखित लिंक देखें और बग की स्थिति देखें: https://github.com/firebase/firebase-android-sdk/issues/198


मुद्दा ट्रैकर "आलसी कार्य विन्यास" का उल्लेख कर सकता है -

यह कम से कम क्या कार्य विन्यास परिहार से पता चलता है।

लेकिन संभवतः BaseVariantImpl इस अप्रचलित तरीके तक पहुंच को रोका जा सकता है, जब variant.outputs.all उस विधि (आंतरिक रूप से) तक नहीं variant.outputs.all - या जब चेक एक्सेस को रोक सकते हैं; या इसके नाम से भिन्न रूप तक पहुँचने पर; या किसी तरह वैरिएंट के लिए बाहरी मूल बिल्ड कार्यों को अक्षम करें। एकल-संस्करण प्रोजेक्ट सिंक विकल्प भी देखें, जो संबंधित लगता है।

या build-tools 3.3.0-alpha12 या 3.3.0-beta1 प्रतीक्षा करें ... यह कोई release candidate भी नहीं है, इसलिए किसी अन्य बग-रिपोर्ट को दर्ज करने के लिए इसका उपयोग करने के अलावा बहुत समय के लिए निवेश व्यर्थ हो सकता है।

नई त्वरित प्रतिक्रिया बटन अभी भी सबसे आशाजनक दिखता है।


मेरे मामले में, मुझे io.fabric प्लगइन का उपयोग करने की आवश्यकता थी, और समाधान था, नवीनतम कपड़े उपकरण ग्रेड संस्करण में अपडेट करने के लिए:

classpath 'com.android.tools.build:gradle:3.3.0'
classpath 'io.fabric.tools:gradle:1.27.0'

मॉड्यूल build.gradle फ़ाइल को जावा 8 में स्रोत संगतता बदलना समस्या को हल करता है

compileOptions {
    sourceCompatibility 1.8
    targetCompatibility 1.8
}

उन लाइनों को जोड़ने के बाद परियोजना का पुनर्निर्माण करना सुनिश्चित करें


यह एंड्रॉइड स्टूडियो 3.2.0 से एंड्रॉइड स्टूडियो 3.3.0 तक आपके एंड्रॉइड स्टूडियो के अपडेट के कारण होता है। IO.Fabric का आपका ग्रेडल डिपेंडेंसी (प्रोजेक्ट) अपडेट करें। पसंद:

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

और अपने कोटलिन संस्करण को भी अपडेट करें

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.20"

इससे इस समस्या का समाधान हो जाएगा। धन्यवाद


यह त्रुटि को ठीक कर देगा: टास्कबार पर टूल्स क्लिक करें-> कोटलिन-> प्रोजेक्ट में कोटलिन कॉन्फ़िगर करें


यह नवीनतम gradle (मेरे मामले में 3.3.2 ) संस्करण और Fabric.io प्लगइन के साथ एक समस्या थी। यह अब नए संस्करण द्वारा हल हो गया है उपयोगकर्ताओं को अपने शीर्ष-स्तरीय build.gradle में यह होना चाहिए:

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

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

यह मुद्दा उनकी हालिया रिलीज़ 'io.fabric.tools:gradle:1.30.0' में तय किया गया है

1.30.0 के साथ अपने दोनों ग्रेडल फैब्रिक टूल्स को अपडेट करें

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

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

अधिक जानकारी के लिए https://github.com/firebase/firebase-android-sdk/issues/198#issuecomment-473435453


लॉग इन प्रिंट बनाएँ, इसे कैसे डीबग करें, विशेष रूप से -Pandroid.debug.obsoleteApi=true साथ बिल्ड रन करने की आवश्यकता -Pandroid.debug.obsoleteApi=true , जो -Pandroid.debug.obsoleteApi=true गए एपीआई को कॉल के स्टैक-ट्रेस को प्रिंट करेगा और आप यह पता लगाने में सक्षम होंगे कि कौन सा प्लगइन / कोड कॉल करता है ।

यदि यह आपका कोड समाप्त हो रहा है - नए प्रदाता API का उपयोग करें ( पढ़ें आलसी टास्क कॉन्फ़िगरेशन डॉक )

यदि यह अन्य प्लगइन से आता है - स्टैक-ट्रेस और चेतावनी संदेश के साथ उन्हें रिपोर्ट करें और शायद एक पैच सबमिट करें। जैसा कि इस मामले में इसके io.fabric मुद्दे से संबंधित है।


अद्यतन आज के रूप में आप इस मुद्दे को ठीक करने के लिए classpath 'io.fabric.tools:gradle:1.28.0' का उपयोग कर सकते हैं!

अगर बाहर io.fabric प्लगइन io.fabric एप्लिकेशन gradle फ़ाइल पर टिप्पणी करना अस्थायी रूप से आपके लिए काम करता है

//apply plugin: 'io.fabric'

फिर प्रोजेक्ट श्रेणी फ़ाइल पर अपनी फैब्रिक ग्रेडल निर्भरता को अपग्रेड करने से समस्या स्थायी रूप से हल हो जाएगी:

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

NB: यह चेतावनियों को दूर नहीं करता है, लेकिन आप AS3.3 + के साथ Crashlytics का उपयोग करते हैं


संपादित करें

यह मुद्दा docs.fabric.io/android/changelog.html#march-15-2019 में तय किया गया है। परियोजना स्तर के अपने build.gradle में, निम्न पंक्ति जोड़ें:

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

पिछला उत्तर

ऐसा तब होता है जब मैंने एंड्रॉइड स्टूडियो को 3.3.0 में अपडेट किया। apply plugin: 'io.fabric' इसका कारण है। मैंने इस मुद्दे के बारे में फायरबेस टीम को एक बग रिपोर्ट भेजी है।

आपके पास 3 विकल्प हैं:

अपने ऐप के मॉड्यूल के build.gradle में:

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

हालाँकि, आप अभी भी अपनी परियोजनाओं का निर्माण और संचालन कर सकते हैं, भले ही यह त्रुटि दिखाई दे। बस इसे नजरअंदाज करें।







fabric.io