it-swarm.com.de

Die API 'variant.getJavaCompile ()' ist obsolet

Ich bin neu in der Entwicklung von Kotlin und kurz nachdem ich meinem Projekt Kotlin hinzugefügt habe, gibt es ein Problem mit etwas, das veraltet ist. Ich habe so etwas schon einmal gesehen, als wir compile in implementation ändern mussten, aber ich verstehe wirklich nicht, worum es geht.

die Warnung bekomme ich:

API 'variant.getJavaCompile()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'.
It will be removed at the end of 2019.

build.gradle:

apply plugin: 'com.Android.application'
apply plugin: 'kotlin-Android-extensions'
apply plugin: 'kotlin-Android'

Android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.sinamn75.androidtest"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }
}
repositories {
    mavenCentral()
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    // Support
    implementation 'com.Android.support:appcompat-v7:28.0.0-rc02'
    implementation 'com.Android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.Android.support:design:28.0.0-rc02'
    implementation 'com.Android.support:recyclerview-v7:28.0.0-rc02'
    implementation 'com.Android.support:cardview-v7:28.0.0-rc02'
    implementation 'com.Android.support:support-v4:28.0.0-rc02'
    implementation 'com.Android.support:support-core-utils:28.0.0-rc02'
    implementation 'com.Android.support:preference-v14:28.0.0-rc02'
    implementation 'com.Android.support:exifinterface:28.0.0-rc02'
    // GooglePlay
    implementation 'com.google.Android.gms:play-services-maps:15.0.1'
    implementation 'com.google.Android.gms:play-services-location:15.0.1'
    implementation 'com.google.Android.gms:play-services-plus:15.0.1'
    implementation 'com.google.Android.gms:play-services-places:15.0.1'
    implementation 'com.google.Android.gms:play-services-vision:15.0.2'
    //AndPermission
    implementation 'com.yanzhenjie:permission:2.0.0-rc6'
    // AHNavigation
    implementation 'com.aurelhubert:ahbottomnavigation:2.1.0'
    // Lottie
    implementation 'com.airbnb.Android:lottie:2.2.5'
    // SwitchButton
    implementation 'lib.kingja.switchbutton:switchbutton:1.1.7'
    // RoundedImageView
    implementation 'com.makeramen:roundedimageview:2.3.0'
    // Picasso
    implementation 'com.squareup.picasso:picasso:2.71828'
    // MaterialDialog
    implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
    // Retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
}

build.gradle:

buildscript {
    ext.kotlin_version = '1.2.70'

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.3.0-alpha11'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
apply plugin: 'kotlin'

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

task customClean(type: Delete) {
    delete rootProject.buildDir
}
clean.dependsOn customClean
repositories {
    mavenCentral()
}
dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
}
compileKotlin {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}
compileTestKotlin {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}
6
SinaMN75

Update: Es scheint so, als wäre dies ein Fehler in Kotlin-Plugins, der hier erwähnte.

Wenn Sie jedoch die neue Version des Kotlin-Plugins verwenden (Wenn Kotlin die neuen APIs verwendete), kann der Fehler wie hier beschrieben behoben werden:

https://github.com/JetBrains/kotlin/pull/1884/commits/1a17cb54a775ab3e55db66109cb12b7d54fbba6c

Und: https://github.com/JetBrains/kotlin/pull/1884

Das Commit war eigentlich für die Behebung dieses Problems:

Dieses Commit ändert nichts funktional, dient nur zur Vermeidung von die Warnmeldung als Reporter in https://issuetracker.google.com/116198439


Nach einer gründlichen Suche in Codes scheint getJavaCompile() in Ihrem aktuellen Gradle (alpha11-Version) veraltet zu sein. Sie haben jedoch die alpha -Version von gradle verwendet, die ich nicht wirklich empfehlen kann. 

Verwenden Sie stattdessen die stabilen Versionen wie:

classpath 'com.Android.tools.build:gradle:3.1.4'

Und dann sollte die Warnung verschwunden sein, hoffe ich.

8
ʍѳђઽ૯ท

Diese Warnung bezieht sich auf die Kotlin-Plugins, die noch die älteren (veralteten) APIs verwenden.

Bitte überprüfen Sie das unten stehende Problem im Google Problem-Tracker:
https://issuetracker.google.com/issues/116198439

Doppelter Fehler mit einigen weiteren Informationen:
https://issuetracker.google.com/issues/116148147

Es wird behoben, wenn das Kotlin-Plugin die neueren APIs verwendet. Bitte überprüfen Sie die Probleme hier:
https://youtrack.jetbrains.com/issue/KT-25428
https://github.com/JetBrains/kotlin/pull/1884

6
Pranav Pandey
buildscript {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:3.4.2'
        classpath 'com.google.gms:google-services:4.2.0' // Change classpath 'com.google.gms:google-services:4.3.0' to classpath 'com.google.gms:google-services:4.2.0'
    }
}
1
Ketan Ramani

Wenn verwendet, um Crashlytics zu google

Aktualisieren Sie Ihre Abstufungsabhängigkeiten:

implementation 'com.crashlytics.sdk.Android:crashlytics:2.9.9'
classpath 'io.fabric.tools:gradle:1.26.1'
0