Tiba-tiba saat Menyinkronkan Gradle, saya mendapatkan kesalahan ini:
PERINGATAN: API 'variant.getJavaCompile ()' sudah usang dan telah diganti dengan 'variant.getJavaCompileProvider ()'. Itu akan dihapus pada akhir 2019. Untuk informasi lebih lanjut, lihat https://d.android.com/r/tools/task-configuration-avoidance Modul yang Terkena Dampak: app
Saya mendapatkan ini build.gradle
untuk modul aplikasi:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.fabric'
android {
compileSdkVersion 28
buildToolsVersion "28.0.2"
defaultConfig {
applicationId "..."
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "..."
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
versionNameSuffix = version_suffix
[...]
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
[...]
}
debug {
[...]
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.61"
implementation 'androidx.appcompat:appcompat:1.0.0-rc02'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation "com.android.support:preference-v7:28.0.0"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
implementation 'com.google.android.material:material:1.0.0-rc02'
[...]
}
Saya dapat mengkompilasi aplikasi dengan benar, tetapi ini agak mengganggu, dan seperti yang saya lihat, sesuatu akan berhenti bekerja pada akhir tahun 2019. Ada ide tentang apa itu dan bagaimana menyelesaikannya?
Jawaban:
Masalah ini diperbaiki sekarang dengan pembaruan Fabric Gradle versi 1.30.0:
Pembaruan rilis: 19 Maret 2019
Silakan lihat Tautan ini: https://docs.fabric.io/android/changelog.html#march-15-2019
Harap perbarui dependensi classpath Anda di Gradle tingkat proyek:
sumber
classpath 'io.fabric.tools:gradle:1.29.0'
. Apa yang harus saya lakukan?Saya menghadapi masalah ini setelah memperbarui ke 3.3.0
Jika Anda tidak melakukan status kesalahan apa dalam file gradle, itu adalah beberapa plugin yang masih tidak memperbarui ke API yang lebih baru yang menyebabkan ini. Untuk mengetahui plugin mana yang dilakukan, lakukan hal berikut (seperti yang dijelaskan dalam "Info debug lebih baik saat menggunakan API usang" dari pengumuman 3.3.0 ):
Semoga ini bisa membantu orang lain
sumber
android.debug.obsoleteApi=true
, Untuk membaca detail yang dicatat: Buka tab Bangun di bagian bawah dan di dalam jendela "Bangun Output", klik "Toggle View". Ketika Anda mengklik bahwa cantik, warna hilang, gulir ke atas di mana dikatakanWARNING: API 'variant.getAssemble()' is obsolete
. Kemudian di bawahnya, itu menunjukkanREASON: Called from:
... dalam kasus saya itu karena medium.com/@xabaras/...Dalam kasus saya, itu disebabkan dari layanan gms 4.3.0. Jadi saya harus mengubahnya ke:
Saya telah menemukan ini dengan menjalankan:
di terminal. Pergi ke view -> tool windows -> Terminal di Android Studio.
sumber
./
sebelum perintah, yaitu jika terminal diatur ke root proyek android Anda. Kalau tidak, Anda harus cd ke root proyek.Ini hanya peringatan dan mungkin akan diperbaiki sebelum 2019 dengan pembaruan plugin jadi jangan khawatir. Saya akan merekomendasikan Anda untuk menggunakan versi plugin dan grader yang kompatibel.
Anda dapat memeriksa versi plugin dan versi grader di sini untuk pengalaman dan kinerja yang lebih baik.
https://developer.android.com/studio/releases/gradle-plugin
Coba gunakan versi stabil untuk kode bebas kesalahan dan peringatan / kesalahan.
sumber
Saya juga menghadapi masalah yang sama. Dan setelah mencari beberapa saat, saya menemukan bahwa peringatan itu muncul karena menggunakan versi terbaru dari
google-services
plugin (versi 4.3.0). Saya menggunakan plugin ini untuk fungsi Firebase di aplikasi saya. Yang saya lakukan adalah menurunkan versigoogle-services
plugin saya di buildscript di file level build.gradle (Project) sebagai berikut:sumber
Ubah versi Layanan Google Anda dari
build.gradle
:sumber
Ini adalah peringatan yang dikeluarkan oleh build tools karena dua alasan.
1. Salah satu plugin bergantung pada Task daripada TaskProvider, tidak ada banyak yang bisa kita lakukan.
2. Anda telah mengonfigurasi penggunaan tugas, di mana ia mendukung TaskProvider.
Carilah cuplikan seperti di bawah ini & perbarui.
Demikian pula, temukan penggunaan
'variant.getJavaCompile()'
atau'variant.javaCompile'
,'variant.getMergeResources()'
atau'variant.mergeResources'
. Ganti seperti di atas.Informasi lebih lanjut di Penghindaran Konfigurasi Tugas
sumber
./gradlew
. Ini tidak ada hubungannya dengan AS, itu dalam alat membangun. Tingkatkan / turunkan kecom.android.tools.build:gradle:3.2.0
& jalankan./gradlew
. Ini tidak akan datang.variant.generateBuildConfig.enabled
dalam proyek saya. Saya masih mendapatkan peringatan di atasvariant.generateBuildConfig.enabled
dalam proyek saya. Saya masih mendapatkan peringatan di atasMenurunkan versi Gradle berhasil untuk saya:
sumber
1) Tambahkan
android.debug.obsoleteApi=true
kegradle.properties
. Ini akan menunjukkan kepada Anda modul mana yang dipengaruhi oleh log peringatan Anda.2) Perbarui fungsi-fungsi usang ini.
variant.javaCompile
untukvariant.javaCompileProvider
variant.javaCompile.destinationDir
untukvariant.javaCompileProvider.get().destinationDir
sumber
Upgrade yang Kotlin ( Plugin dan STDLIB ) versi ke 1.3.1 dipecahkan bahwa peringatan dalam kasus saya. Perbarui versi Kotlin di seluruh proyek dengan mengganti versi Kotlin yang ada dengan:
sumber
ext.kotlin_version = '1.2.71'
.. Mengubahnya menjadi jawaban di atas dan itu bekerja dengan baik! - Saya menghapus folder saya/android
dan/ios
kemudian berlariflutter create .
untuk membangun kembali aplikasi Flutter dan menempatkannyaext.kotlin_version = '1.2.71'
dibuild.gradle
Kembali dari classpath 'com.android.tools.build:gradle:3.3.0-alpha13' ke classpath 'com.android.tools.build:gradle:3.2.0'
ini bekerja untuk saya
sumber
Perbarui plugin fabric ke file Gradle level proyek terbaru (bukan level aplikasi). Dalam kasus saya, baris ini menyelesaikan masalah
untuk
sumber
Dalam kasus saya
dulu
diperbarui ke
masalah terlihat sudah pergi untuk saat ini
sumber
Dalam kasus saya, saya harus mengomentari
com.google.firebase.firebase-crash
plugin:Ini adalah bug sejak Android Studio 3.3.0
sumber
oss-licenses-plugin
Memperbarui gradle ke gradle: 3.3.0
Tugas 'assemble' default hanya berlaku untuk varian normal. Tambahkan varian tes juga.
komentar juga berlaku kain
sumber
crashlytics { manifestPath = "$buildDir/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml" }
Ketika plugin mendeteksi bahwa Anda menggunakan API yang tidak lagi didukung, plugin itu sekarang dapat memberikan informasi yang lebih terperinci untuk membantu Anda menentukan di mana API itu digunakan. Untuk melihat info tambahan, Anda harus memasukkan yang berikut ini dalam file properti gradle.prop proyek Anda:
sumber
jika saya menghapus baris ini dari
application gradle
:kesalahan tidak akan muncul lagi.
Tautan referensi github
sumber
dependensi ditingkatkan ke androidX. jadi jika Anda ingin menggunakan konten androidX, migrasi proyek Anda ke androidX.
Dengan Android Studio 3.2 dan lebih tinggi, Anda dapat dengan cepat memigrasi proyek yang ada untuk menggunakan AndroidX dengan memilih Refactor> Migrate to AndroidX dari menu bar.
sumber
Ini memperbaiki masalah saya .. Yang perlu saya lakukan adalah menurunkan plugin google-services saya di buildscript di file level build.gradle (Project) sebagai berikut
sumber
Berikut solusi sementara, Jika Anda menggunakan kamar, tingkatkan saja ke 1.1.0 atau lebih tinggi
itu menghilangkan peringatan ini untuk saya.
sumber
membuat Anda tetap Proyek (bukan aplikasi) Build.gradle dependncies kode versi classpath adalah baru
sumber
Ini pertanyaan populer. Jika Anda tidak menggunakan metode ini, solusinya memperbarui perpustakaan. Harap perbarui versi kotlin Anda , dan semua dependensi Anda seperti fabric , protobuf , dll. Jika Anda yakin telah memperbarui semuanya, coba tanyakan kepada penulis perpustakaan.
sumber
Memutakhirkan protobuf-gradle-plugin ke versi 0.8.10 menyelesaikan masalah saya. Ganti protobuf yang ada dengan
sumber
Itu sebagian besar disebabkan oleh perpustakaan yang sudah usang. Untuk memeriksa pembaruan baru secara manual, Anda harus menavigasi ke
Itu sudah cukup. Opsi lain adalah menjalankan pembaruan ketergantungan gradle menggunakan
./gradlew dependencyUpdates
yang akan menghasilkan laporan seperti ini:
sumber
meningkatkan layanan google di tingkat proyek
build.gradle
memecahkan masalah saya.Setelah peningkatan:
sumber
Saya memiliki masalah yang sama dan diselesaikan dengan mendefinisikan versi plugin kotlin gradle dalam file build.gradle.
ubah ini
untuk
sumber
Dalam kasus saya, saya mengikuti ini . Ringkasan, di tingkat aplikasi bertahap: ubah ini:
untuk
sumber