API 'variant.getExternalNativeBuildTasks ()' ล้าสมัยและถูกแทนที่ด้วย 'variant.getExternalNativeBuildProviders ()


337

สตูดิโอที่ใช้ Android 3.3 เกาะคานารี 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


คุณสามารถโพสต์ build.gradle (แอป) ของคุณได้หรือไม่?
Skizo-ozᴉʞS

@ Skizo-ozᴉʞSเพิ่มไฟล์ build.gradle โครงการ
Jude Fernandes


@alashow นี้เกี่ยวข้องกับปัญหาที่แตกต่างกันมีข้อความว่า "API 'variant.getJavaCompile ()' ล้าสมัย .. "
Vadim Kotov

16
มีปัญหากับรุ่นที่เสถียรเช่นกัน
kp91

คำตอบ:


286

ปัญหาได้รับการแก้ไขในรุ่นล่าสุด 'io.fabric.tools:gradle:1.30.0'

โปรดอัปเดตเครื่องมือผ้าทั้งสองแบบของคุณด้วย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


ตรวจสอบให้แน่ใจว่าได้ทำการเปลี่ยนแปลงใน build.gradle ทั้งในระดับโปรเจ็กต์และแอพ
RJB

2
รุ่น 1.28.0 แก้ไขปัญหาของฉันรุ่นปัจจุบันคือ 1.29.0 docs.fabric.io/android/changelog.html#fabric-gradle-plugin
Alexander Hartmann


ฉันยังคงได้รับการแจ้งเตือนนี้ด้วยและclasspath 'io.fabric.tools:gradle:1.31.0' implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'มันอาจจะเสียอีกหรือไม่ได้รับการแก้ไขในทุกกรณี
ยีน S

คุณได้รับเครื่องมือแบบผ้ารุ่นนี้มาจากไหน ฉันสามารถหา 1.25.4 mvnrepository.com/artifact/io.fabric.tools/gradle
Lachlan Young

248

แก้ไข

ปัญหานี้ได้รับการแก้ไขในผ้า 1.28.0 ในbuild.gradleระดับโครงการของคุณเพิ่มบรรทัดต่อไปนี้:

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

คำตอบก่อนหน้า

มันเกิดขึ้นหลังจากฉันอัพเดท Android Studio เป็น 3.3.0 apply plugin: 'io.fabric'เป็นสาเหตุ ฉันส่งรายงานข้อผิดพลาดถึงทีม Firebase เกี่ยวกับปัญหานี้

คุณมี 3 ตัวเลือก:

  • รอจนกว่าจะมีการเปิดตัวปลั๊กอินผ้ารุ่นถัดไป ตรวจสอบเวอร์ชั่นล่าสุดที่นี่

  • ลดระดับเป็นAndroid 3.2.1

  • io.fabricปลั๊กอินแสดงความคิดเห็น

ในbuild.gradleโมดูลแอปของคุณ:

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

อย่างไรก็ตามคุณยังสามารถสร้างและเรียกใช้โครงการของคุณแม้ว่าข้อผิดพลาดนี้จะปรากฏขึ้น เพียงแค่เพิกเฉย


2
เป็นไปได้ไหมที่คุณจะเชื่อมโยงรายงานข้อผิดพลาดหรือปัญหาที่คุณเปิดด้วย Firebase ฉันชอบที่จะโหวตขึ้น
yuval

8
ฉันต้องใช้io.fabricปลั๊กอินแล้วฉันจะลบคำเตือนนี้โดยไม่เปลี่ยนแปลงได้อย่างไร
0xAliHn

16
นี่คือสาเหตุไม่ใช่ทางออกที่ปฏิบัติได้
Daniel Wilson

1
พวกเขาบอกว่าคุณสามารถใช้มันได้จนถึงสิ้นปี 2019 สำหรับตอนนี้ฉันกำลังใช้เราจะเห็นสิ่งที่เกิดขึ้น)
support_ms

4
ทำไมต้องลดระดับ ไม่มีความรู้สึก! มันเป็นแค่คำเตือนมันยังไม่ถูกลบออกและมันสามารถสร้างโครงการของคุณ (ทั้งปี 2019 ปี ... ) ผมเชื่อว่าพวกเขาจะแก้ไขได้ในปีนี้
user25

60

ในแอปพลิเคชัน build.gradle ปรับลดรุ่น gradle ที่มีเสถียรภาพนี้:

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

มันเกิดขึ้นหลังจากที่ฉันอัปเดต Android Studio เป็น 3.3 แก้ปัญหาชั่วคราวจนกว่าพวกเขาจะแก้ไข!

แก้ไข: คุณไม่จำเป็นต้องลดระดับสตูดิโอ Android ของคุณ!


2
จากนั้นคุณต้องปรับลดรุ่นเป็น Android Studio 3.2.1 ขอบคุณอยู่ดี
Rubén Viguera

ฉันมีปัญหาเดียวกันหลังจากอัปเกรด Android Studio (AS) เป็นเวอร์ชัน 3.3 ฉันได้รับการซิงค์ Gradle ให้ทำงานอีกครั้งโดยการลดระดับ Gradle เป็นเวอร์ชัน 4.6 และ Android Gradle Plugin เป็นรุ่น 3.2.1 ซึ่งเป็นรุ่นที่ฉันใช้ก่อนการอัพเดท AS ค้นหาตารางที่นี่หากคุณสงสัยว่าจะแก้ไขเวอร์ชันสำหรับ gradle และปลั๊กอินได้อย่างไร
Rabie Jradi

6
มันทำงานได้โดยไม่ลดระดับเลยขอบคุณสำหรับคำแนะนำ
Sid

3
คุณไม่จำเป็นต้องดาวน์เกรดแอนดรอยด์สตูดิโอของคุณ @ RubénViguera
Amer Al Ziebak

1
คุณไม่จำเป็นต้องปรับลดรุ่นใด ๆ นอกเหนือจากรุ่น gradle ตามที่ระบุไว้ในคำตอบ นี่ควรเป็นคำตอบที่ยอมรับได้
นพ. เดนมาร์กอันซารี

16

อัปเดต ณ วันนี้คุณสามารถใช้classpath 'io.fabric.tools:gradle:1.28.0'เพื่อแก้ไขปัญหานี้!

หากความคิดเห็นCrashlyticsของปลั๊กอินio.fabricในไฟล์ gradle ของแอปใช้งานได้ชั่วคราว

//apply plugin: 'io.fabric'

จากนั้นอัปเกรดการพึ่งพา gradle แฟบริคของคุณในไฟล์ Project Gradle จะแก้ปัญหาอย่างถาวร:

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

หมายเหตุ: สิ่งนี้ไม่ได้ลบคำเตือน แต่ให้คุณใช้ Crashlytics กับ AS3.3 +


@RJB คุณใช้ Crashlytics หรือไม่? หากคุณลบมันออกจากโครงการของคุณมันใช้งานได้? ถ้าใช่ก็ควรแก้ไขปัญหา อย่างไรก็ตามคุณอาจยังได้รับคำเตือน แต่โครงการจะคอมไพล์และคุณสามารถสร้าง apk ของคุณได้อย่างปลอดภัย
113408

ใช่. ฉันหมายความว่าฉันยังคงได้รับคำเตือน
RJB

op และคนอื่น ๆ (รวมถึงฉัน) มีปัญหานี้และไม่สามารถรวบรวมโครงการที่crashlyticsเปิดใช้งานได้ ดังนั้นเพื่อรักษา Crashlytics และยังคงผลักดันผลิตภัณฑ์คุณสามารถใช้การอัปเดตที่กล่าวถึงข้างต้นแม้ว่าจะยังคงเรียกใช้ "คำเตือน"
113408

13

ไม่แน่ใจว่าปัญหาที่แท้จริงคืออะไร แต่แสดงความคิดเห็นเกี่ยวกับการพึ่งพา crashlytics ที่เกี่ยวข้องจากโครงการที่แก้ไขปัญหา


11

ได้รับการยืนยันว่าเป็นข้อบกพร่องสำหรับ Crashlytics และพวกเขากำลังดำเนินการ

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

อ้างจาก Google ผู้รับมอบหมาย:

je ... @ google.com # 23 ม.ค. , 2019 01:40 AM
สวัสดีทุกคน

ขอขอบคุณสำหรับความอดทนของคุณ.

ดูเหมือนว่าข้อผิดพลาดในทุกกรณีมาจาก crashlytics และฉันได้ยื่นข้อบกพร่องกับพวกเขาแล้ว

ฉันจะแจ้งให้คุณทราบเกี่ยวกับสถานะ

สำหรับฉันแล้วแอพดีบั๊กของฉันทำงานได้ดีบนอุปกรณ์ของฉันเพียงแค่เรียกใช้และละเว้นคำเตือนโดยไม่แสดงความคิดเห็น Crashlytics หรือ Fabric ฉันยังไม่ได้ลองผลิต

ปรับปรุง:

Google Issue Tracker มีการทำเครื่องหมายปัญหานี้ว่าจะไม่แก้ไข (เป็นไปไม่ได้) เนื่องจากปัญหาทั้งหมดมาจาก Crashlytics และให้การแก้ไขดำเนินการโดยทีมงาน Crashlytics (แม้ว่าพวกเขาจะเป็น Googler เดียวกัน ... )

พวกเขาแนะนำให้ติดตามลิงค์นี้สำหรับการอัพเดต Crashlytics:

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

หมายเหตุ: ฉันยังคงใช้ Android Studio 3.3 กับ io.fabric.tools:gradle:1.26.0 โดยไม่แสดงความคิดเห็นใด ๆ ของ Craslytics และทำงานได้ดีในแอปที่ดีบั๊กของฉัน

ปรับปรุง:

ฉันสามารถยืนยันได้ในขณะนี้ว่าทำงานได้ดีบนแอปเวอร์ชันผลิต / เผยแพร่ของฉัน ฉันจะรู้ได้อย่างไรว่ามันใช้งานได้? เพราะมันได้ส่งรายงานความผิดพลาดกลับมาให้ฉัน -_- '

อย่างไรก็ตามเพียงเพิกเฉยต่อคำเตือนพวกเขาควรแก้ไขได้ในที่สุด

เพิ่งทราบว่ามันได้รับการแก้ไขด้วยผ้า 1.28.0 :)


8

ข่าวล่าสุดตั้งแต่ 01/24/2019

ป้อนคำอธิบายรูปภาพที่นี่

ข้อมูลที่นี่https://issuetracker.google.com/issues/116408637

เราจะต้องรอจนกว่า Crashlytics จะมาพร้อมกับวิธีแก้ปัญหานี่คือปัญหา GitHub ที่เปิดขึ้น

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

วิธีเดียวที่ฉันใช้เป็นตอนนี้เพื่อไม่แสดงความคิดเห็นปลั๊กอินio.fabricคือการลดระดับการไล่ระดับสีของฉันและการอัพเกรด classpath ผ้าของฉัน (นี่คือการทำงานในแอปผลิตของฉัน)

 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
    }

วิธีการเกี่ยวกับเราเพิ่งเพิ่ม-dontwarn com.crashlytics.android.Crashlyticsในproguard-rules.pro
Mustansir

1
หากคุณลบคำเตือนโดยทำเช่นนั้นปัญหายังคงอยู่ที่นั่นและคุณจะต้องกลับไปที่ปัญหาอีกครั้ง
GastónSaillén

ขวา! มันเป็นวิธีชั่วคราวในการสร้างคอมไพล์ แต่มันดีกว่าการลดระดับทุกอย่าง
Mustansir

ใช่การลดระดับจะทำให้ใช้งานได้หากคุณยกเลิกคำเตือนคุณสามารถรักษาเวอร์ชันที่อัปเดตไว้ได้ แต่มันจะไม่ทำงาน
GastónSaillén

@ Mustansir ฉันคิดว่ามันเป็นปัญหาที่เกี่ยวข้องกับการไล่ระดับสีและไม่มีส่วนเกี่ยวข้องกับ Proguard
WindRider

4

ตามที่ได้กล่าวไปแล้วปัญหาเกิดขึ้นกับ Fabric / Crashlytics

apply plugin: 'io.fabric'

เป็นข้อบกพร่องด้าน Crashlytics / Firebase โปรดตรวจสอบลิงก์ต่อไปนี้และดูสถานะข้อผิดพลาด: https://github.com/firebase/firebase-android-sdk/issues/198


3

ตัวติดตามปัญหาอาจอ้างถึง "การกำหนดค่างานขี้เกียจ" -

นั่นคือสิ่งที่การหลีกเลี่ยงการกำหนดค่างานแนะนำ

แต่มีวิธีหนึ่งที่สามารถป้องกันการเข้าถึงวิธีการที่ล้าสมัยBaseVariantImplเมื่อvariant.outputs.allไม่เข้าถึงวิธีนั้น (ภายใน) - หรือเมื่อการตรวจสอบสามารถป้องกันการเข้าถึง หรือเมื่อเข้าถึงตัวแปรโดยใช้ชื่อ หรือปิดการใช้งานงานสร้างพื้นเมืองภายนอกสำหรับตัวแปร ดูตัวเลือกการซิงค์โครงการที่มีตัวแปรย่อยซึ่งค่อนข้างจะเกี่ยวข้อง

หรือรอให้เครื่องมือสร้าง 3.3.0-alpha12หรือ3.3.0-beta1... นี่ไม่ใช่แม้แต่release candidateเช่นนั้นดังนั้นการลงทุนในเวลามากอาจไม่มีจุดหมาย - ยกเว้นการใช้เพื่อยื่นรายงานข้อผิดพลาดอื่น

ข้อเสนอแนะอย่างรวดเร็วปุ่มคำติชมด่วนใหม่ยังคงมีแนวโน้มมากที่สุด


ใช่ฉันยอมรับข้อผิดพลาดประเภทนี้ไม่ปรากฏในเครื่องมือสร้างก่อนหน้านี้ RC ตัวต่อไปอาจแก้ไขได้
d4c0d312

7
มันไม่ได้รับการแก้ไขในการวางจำหน่าย
Juan Diaz

developer.android.com/studio/releases/gradle-plugin#3-3-0 ... เพิ่มandroid.debug.obsoleteApi=trueเพื่อดูว่ามาจากไหน มีวิธีการเปลี่ยนชื่อไม่กี่ด้วยProviderผนวกกับชื่อของพวกเขา
Martin Zeitler

1
@SergeyNarozhnyy ในโครงการ gradle.properties
sigitbn

1
@SergeyNarozhnyy การ3.3.0เปิดตัวใช้งานไม่ได้เนื่องจากมีการเปลี่ยนแปลง API สามารถเชื่อมโยงการสนทนาล่าสุดหนึ่งรายการ: stackoverflow.com/questions/54206898/… (เพิ่มการสรุปเป็นคำตอบที่นั่น)
Martin Zeitler

3

สำหรับฉันฉันทำตามขั้นตอนเหล่านี้: 1. อัพเกรดการพึ่งพา Gradle ใน build.gradle ระดับโครงการ

        classpath 'io.fabric.tools:gradle:1.28.0'
  1. เพิ่มการพึ่งพาปลั๊กอินด้านล่างนี้ ใช้ปลั๊กอิน: 'com.android.application' ในระดับแอป build.gradle

        apply plugin: 'io.fabric'
  2. ซิงค์โปรเจ็กต์ด้วยไฟล์ gradle


2

สิ่งนี้เกิดขึ้นเนื่องจากการอัพเดท Android Studio ของคุณจาก Android Studio 3.2.0 เป็น Android Studio 3.3.0 อัปเดต Gradle Dependencies ของคุณ (โครงการ) ของ IO.Fabric ชอบ:

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

และอัปเดตเวอร์ชัน Kotlin ของคุณเป็น

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

สิ่งนี้จะแก้ไขปัญหานี้ ขอบคุณ


1
ขอบคุณ คำตอบของคุณช่วยฉัน
André Luiz Reis

@Sean หากคุณกำลังใช้ Kotlin และ io febric.then มันจะทำงานเป็นอย่างอื่นสำหรับการลดระดับรุ่น classpath ของคุณมันจะทำงาน ...
Rahul Kushwaha

ID การสร้าง Crashlytics หายไป สิ่งนี้เกิดขึ้นเมื่อเครื่องมือ Crashlytics ขาดหายไปจากการกำหนดค่าการสร้างแอปของคุณ
Vishal Patoliya

1

บิลด์บิลด์จะแสดงวิธีแก้ไขข้อบกพร่องนี้โดยเฉพาะอย่างยิ่งคุณต้องรันบิลด์ด้วย -Pandroid.debug.obsoleteApi=trueซึ่งจะพิมพ์ stack-trace of call ไปยัง API ที่เลิกใช้แล้วและคุณจะสามารถคิดได้ว่าปลั๊กอิน / รหัสเรียกมันว่าอะไร

หากเป็นโค้ดของคุณให้ใช้ Provider API ใหม่ ( อ่านเอกสารการกำหนดค่างาน Lazy )

หากมาจากปลั๊กอินอื่น - รายงานให้พวกเขาด้วย stack-trace และข้อความเตือนและอาจส่งแพทช์ เช่นในกรณีนี้มันเกี่ยวข้องกับการio.fabricออก


1

สิ่งนี้ได้รับการแก้ไขในปลั๊กอิน Fabric Gradle รุ่นล่าสุดคือ 1.28.0 ซึ่งมีการเผยแพร่ในวันนี้ มีสิ่งนี้ใน build.gradle ระดับบนสุดของคุณ:

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

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

0

เมื่อผมเปิดโครงการที่ผมกดปุ่มที่ปรากฏบนมุมล่างขวาจากRun migrations Android Studioการโยกย้ายถูกดำเนินการและปัญหาได้รับการแก้ไขโดยไม่แสดงความคิดเห็นต่อการCrashlyticsพึ่งพา

ป้อนคำอธิบายรูปภาพที่นี่


0

การเปลี่ยนความเข้ากันได้ของแหล่งข้อมูลในbuild.gradleไฟล์โมดูลเป็น Java 8 ช่วยแก้ไขปัญหา

compileOptions {
    sourceCompatibility 1.8
    targetCompatibility 1.8
}

ต้องแน่ใจว่าได้สร้างโครงการใหม่หลังจากเพิ่มบรรทัดเหล่านั้น


อยู่ในระดับบนสุดbuild.gradleหรือระดับโมดูล (/ แอพ)?
Meow Cat 2012

ระดับโมดูล (แอป)
jesses.co.tt

0

สิ่งนี้จะแก้ไขข้อผิดพลาด: บนแถบงานคลิกเครื่องมือ -> Kotlin-> กำหนดค่า Kotlin ในโครงการ


0

ในกรณีของฉันฉันต้องใช้io.fabricปลั๊กอินและวิธีแก้ไขคือเพื่ออัปเดตเป็นเครื่องมือสร้างแบบจำลองรุ่นล่าสุดของเครื่องมือผ้า:

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

0

สำหรับผู้ที่ต้องการใช้งานปลั๊กอินผ้าวิธีแก้ปัญหาชั่วคราวคือการย้อนกลับไปยังเวอร์ชั่นก่อนหน้าของระดับเสียงในระดับโครงการ

เปลี่ยนรุ่น classpath com.android.tools.build:gradle:3.2.1ไป


0

มันเป็นปัญหากับเวอร์ชั่นล่าสุดgradle(ในกรณีของฉัน3.3.2) และFabric.ioปลั๊กอิน ตอนนี้ได้รับการแก้ไขโดยเวอร์ชั่นใหม่ผู้ใช้ควรมีสิ่งนี้ในระดับบนสุดbuild.gradle:

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

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

0

การแก้ไขคือการอัพเดตไฟล์การสร้างรูทการสร้างรากเป็นล่าสุด และคำตอบนี้ถือเป็นจริงในขณะนี้ ใน fureture อีกครั้งการเปลี่ยนแปลงใหม่จะดำเนินการโดย gradle และ Android SDK ในบางครั้งคำตอบจะแตกต่างกันไปตามเวลา

repositories {
    maven { url "https://jitpack.io" }
    maven {
        url 'https://maven.fabric.io/public'
    }
    google()
    jcenter()

}
dependencies {

    classpath 'com.android.tools.build:gradle:3.5.0'
    classpath 'com.google.gms:google-services:4.3.0'
    classpath 'io.fabric.tools:gradle:1.30.0'
}

-7

ประการแรกไม่ใช่ข้อผิดพลาด

มันเตือน

และจะปรากฏขึ้นเมื่อการอัพเดท gradle เป็น 3.3.0 มักจะเกิดขึ้นเพราะ io.fabric ให้รอจนกว่าเวอร์ชั่นปัจจุบันของแฟบริคอัพเดตที่ยังคงมีคำเตือนปรากฏขึ้นคือ 'io.fabric.tools:gradle:1.27.1'

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.