Plugin Android Gradle 8.2.0 (Nov 2023)
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Plugin Android Gradle 8.2.0 merupakan rilis utama yang menyertakan berbagai peningkatan
dan fitur baru.
Kompatibilitas
API level maksimum yang didukung plugin Android Gradle 8.2 adalah API level 34.
Berikut info kompatibilitas lainnya:
Makro baru untuk menentukan jalur JDK
#GRADLE_LOCAL_JAVA_HOME
adalah makro baru yang dapat Anda gunakan untuk menentukan jalur
JDK. Dengan makro baru tersebut, penentuan jalur beranda Java yang digunakan untuk eksekusi daemon Gradle (proses latar belakang) untuk project Anda menjadi lebih aman dan mudah. Pemilihan
jalur disimpan di kolom java.home
dalam file
.gradle/config.properties
. Tetapkan kolom ini melalui setelan JDK Gradle di Android Studio: File (atau
Android Studio di macOS) > Settings > Build, Execution, Deployment > Build
Tools > Gradle.
Project baru akan menggunakan #GRADLE_LOCAL_JAVA_HOME
secara default. Project yang sudah ada
akan otomatis dimigrasikan ke makro baru setelah sinkronisasi berhasil, kecuali
Anda sudah menggunakan makro seperti #JAVA_HOME
.
Manfaat utama makro baru adalah sebagai berikut:
- Anda dapat mengubah jalur JDK secara manual untuk memicu sinkronisasi tanpa harus membuka
project terlebih dahulu.
- Error terkait versi JDK project dan Gradle yang tidak kompatibel menjadi lebih sedikit karena
ada satu sumber tepercaya untuk pemilihan JDK Gradle Anda.
Perbaikan masalah
Plugin Android Gradle 8.2.0
Perbaikan Masalah |
Plugin Android Gradle |
Jenis sumber kustom harus membuat set sumber multi-ragam
|
Pemeriksaan versi SDK tidak menangani pengguna ekstensi SDK
|
DependenciesInfoBuilder memerlukan update API + dokumen
|
DexingNoClasspathTransform (minSdk >= 24) dengan target Java 11 gagal karena anggota nest tidak ada
|
DslExtension.Builder.extendProjectWith() tidak berfungsi seperti yang dijelaskan di Groovy
|
Menambahkan VariantSelector.withFlavor API yang tidak menggunakan kotlin.Pair
|
AndroidLintAnalysisTask ( :lintAnalyzeExternalRelease) memiliki cache yang tidak ditemukan karena `proguard.txt` telah berubah
|
Manifes gabungan aplikasi berisi atribut extractNativeLibs dan useEmbeddedDex dari dependensi
|
AIDL gagal dengan build tools 33.0.0
|
AGP: Mengekspos jalur ke alat AIDL dan file AIDL framework sebagai API publik
|
Permintaan: membiarkan IDE menawarkan perbaikan untuk "PermittedSubclasses requires ASM9"
|
Menargetkan bytecode 17 saat mengompilasi AGP
|
Menghapus VariantManager.getModifiedName
|
AndroidTest.packaging.jniLibs.keepDebugSymbols tidak memengaruhi paket androidTest
|
Tugas uji instrumentasi GMD mengalami error dan jika dicoba lagi akan gagal
|
generateLocaleConfig di agp 8.1.0 menggunakan pengurutan non-deterministik, merusak build yang dapat direproduksi
|
ProcessApplicationManifest.navigationJsons memiliki file dengan jalur absolut
|
Mengakses GradleBuildProject.Builder melalui AnalyticsConfiguratorService tidak diizinkan setelah AnalyticsService dibuat
|
AndroidTest.packaging.jniLibs.keepDebugSymbols tidak memengaruhi paket androidTest
|
Kompilasi diizinkan untuk nilai warna ilegal
|
"ReplaceWith" yang salah untuk VariantBuilder
|
Gradle 8.1 merusak cache konfigurasi karena .gradle/.android/analytics.settings
|
Pesan penghentian penggunaan tidak menggunakan `ReplaceWith`
|
Mengekspos cara mendapatkan versi NDK default
|
Plugin Android Gradle memerlukan Java 17 agar dapat dijalankan.
|
Inkompatibilitas ASM Transform dan toAppend()
|
Memperbaiki LintErrors saat menjalankan lint dengan K2 UAST melalui Gradle pada project KMP
|
Dukungan untuk tingkat Varian missingDimensionStrategy, dan mungkin jenis/ragam build matchingFallback
|
`android.injected.studio.version` dihapus di Android Studio Giraffe
|
Menambahkan kemampuan untuk menonaktifkan AndroidXDependencyCheck
|
generateLocaleConfig di agp 8.1.0 menggunakan pengurutan non-deterministik, merusak build yang dapat direproduksi
|
Mengiklankan persyaratan versi R8/D8 dalam metadata AAR (mis. untuk coreLibraryDesugaring dan API baru yang tidak sesuai)
|
Peringatan sinkronisasi: "GradleBuildProject.Builder should not be accessed through AnalyticsConfiguratorService after AnalyticsService is created"
|
Update ke Gradle 8.2 milestone atau RC
|
Tidak dapat mengakses 'java.lang.Comparable'
|
androidResources tidak tersedia di modul library android
|
Eksekusi gagal untuk tugas ':app:mergeReleaseClasses' setelah Mengupdate AGP dari 8.0.2 ke 8.1.0
|
Gradle 8.1 merusak cache konfigurasi karena .gradle/.android/analytics.settings
|
[AGP 8.1.0] Pengujian ./gradlew gagal dengan pesan "Unable to find manifest output" jika splits.abi.isEnable dan testOptions.unitTests.isIncludeAndroidResources bernilai benar (true)
|
Android Studio Giraffe tidak mematuhi versionCodeOverride dengan AGP 8.1
|
AGP 8.1.0 meng-uninstal aplikasi setelah menjalankan uji instrumentasi - 7.4.2 tidak melakukan uninstal
|
Mengubah APK menyebabkan error dengan ListingFileRedirectTask
|
REGRESI HEDGEHOG: Tombol jalankan tertunda selama beberapa detik (Membuat spesifikasi)
|
|
Dexer (D8) |
Mengaktifkan catatan native dan class tertutup saat melakukan dexing untuk min-api 34 dan yang lebih baru
|
|
Lint |
Pemeriksaan lint pembuatan instance tidak menangani AppComponentFactory dengan baik
|
Lint 8.2.0 alfa masih tidak mendukung impor fungsi level teratas di Kotlin
|
Menambahkan opsi untuk tidak menyertakan nomor baris dan kolom dalam dasar pengukuran lint
|
Menambahkan opsi untuk tidak menyertakan nomor baris dan kolom dalam dasar pengukuran lint
|
Pengujian lint tidak mendukung fitur bahasa Java 17
|
Bumblebee 2021.1.1 Patch 1 mengatakan versi lama (20030203.000550) commons-io lebih baru dari 2.11.0.
|
Lint 8.2.0 alfa masih tidak mendukung impor fungsi level teratas di Kotlin
|
Bumblebee 2021.1.1 Patch 1 mengatakan versi lama (20030203.000550) commons-io lebih baru dari 2.11.0.
|
Android Studio salah menandai versi yang ditentukan sebagai versi usang.
|
Lint mengabaikan masalah UseValueOf saat menggunakan K2 UAST
|
Masalah tak terduga dari project lain yang ditandai oleh Android Lint
|
Android Lint gagal pada library KMP dengan 'variantInputs.name' doesn't have a configured value.`
|
|
Integrasi Lint |
Error lint DuplicatePlatformClasses dari dependensi testImplementation
|
|
Penyingkat (R8) |
java.lang.VerifyError: Pemverifikasi menolak class
|
Build macet di :minifyReleaseWithR8 saat menggunakan library Apache POI
|
Kotlin 1.9 menyebabkan lambda Kotlin dihancurkan oleh R8 jika nullcheck dihilangkan
|
|
Plugin Android Gradle 8.2.1
Perbaikan Masalah |
Plugin Android Gradle |
Jangan menjalankan tugas dexing pada class subproject jika sudah di-dex melalui transformasi artefak
|
Plugin Android Gradle gagal dengan JavaVersion.VERSION_11 dan OpenJDK 21 ea
|
|
Dexer (D8) |
Data Desugar untuk Android U
|
|
Penyingkat (R8) |
R8 menghasilkan dex rusak yang mengakibatkan pengecualian cast class saat runtime
|
R8 menyebabkan perubahan antarmuka menjadi antarmuka yang tidak dapat diakses
|
Error R8 Flurry SDK dengan AGP 8.2.0
|
Android - R8 menyebabkan subclass LinearLayoutManager tidak bekerja
|
ClassCastException di R8 saat pengemasan ulang aktif, serta penyingkatan, obfuscation, dan pengoptimalan dinonaktifkan
|
R8 macet di BridgeAnalyzer.analyzeMethod
|
R8 v8.2.33, "java.lang.VerifyError: Jenis buruk pada tumpukan operand" error saat runtime setelah upgrade
|
|
Plugin Android Gradle 8.2.2
Perbaikan Masalah |
Plugin Android Gradle |
Tidak dapat menetapkan versi JaCoCo di AGP 8.2.0
|
|
Dexer (D8) |
[desugared library] Library desugaring versi 2.1 tidak kompatibel dengan R8 versi sebelumnya
|
Pengoptimalan berjalan bahkan hanya dengan D8?
|
|
Penyingkat (R8) |
[R8 8.3.21] R8 8.3.21 lebih besar 1,57 MB dari R8 8.1.56
|
class.getInterfaces() menampilkan kosong
|
|
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-02-28 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-02-28 UTC."],[],[]]