Android Studio 3.2 (September 2018)
Android Studio 3.2 merupakan rilis utama yang menyertakan berbagai peningkatan dan fitur baru.
3.2.1 (Oktober 2018)
Update untuk Android Studio 3.2 ini menyertakan perubahan dan perbaikan berikut:
- Versi paket Kotlin saat ini adalah 1.2.71.
- Versi alat build default saat ini adalah 28.0.3.
- Di library Navigation, jenis argumen telah diganti namanya dari
type
menjadiargType
. - Bug berikut telah diperbaiki:
- Saat menggunakan library Data Binding, nama variabel dengan garis bawah menyebabkan error kompilasi.
- CMake menyebabkan IntelliSense dan fitur CLion lainnya gagal.
- Menambahkan
SliceProvider
menyebabkan error kompilasi dalam project yang tidak menggunakan libraryandroidx.*
. - Beberapa pengujian unit Kotlin tidak dijalankan.
- Masalah dengan data binding menyebabkan
PsiInvalidElementAccessException
. - Elemen
<merge>
terkadang menyebabkan Layout Editor berhenti berfungsi.
Masalah umum 3.2.0
Catatan: Masalah ini telah diatasi di Android Studio 3.2.1
Kami sangat tidak menyarankan penggunaan Kotlin versi 1.2.70.
Kotlin versi 1.2.61 memperbaiki bug yang dapat menyebabkan Android Studio macet, tetapi Kotlin 1.2.70 tidak menyertakan perbaikan ini.
Namun, Kotlin versi 1.2.71 dan yang lebih baru menyertakan perbaikan ini.
-
Meskipun biasanya Anda tidak perlu menentukan versi alat build, saat menggunakan plugin Android Gradle 3.2.0 dengan
renderscriptSupportModeEnabled
disetel ketrue
, Anda harus menyertakan berikut ini di setiap filebuild.gradle
modul:android.buildToolsVersion "28.0.3"
Asisten Yang Baru
Asisten baru menginformasikan perubahan terbaru di Android Studio kepada Anda.
Asisten ini akan terbuka saat Anda memulai Android Studio setelah melakukan penginstalan baru atau update jika asisten mendeteksi adanya informasi baru untuk ditampilkan. Anda juga dapat membuka asisten ini dengan memilih Help > What's new in Android Studio.
Android Jetpack
Android Jetpack membantu mempercepat pengembangan Android dengan komponen, fitur, dan panduan yang meniadakan tugas berulang serta memungkinkan Anda mem-build aplikasi berkualitas tinggi yang dapat diuji dengan lebih cepat dan mudah. Android Studio menyertakan update berikut untuk mendukung Jetpack. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Jetpack.
Navigation Editor
Navigation Editor baru terintegrasi dengan komponen navigasi Android Jetpack, sehingga memberikan tampilan grafis untuk membuat struktur navigasi aplikasi. Navigation Editor menyederhanakan desain dan implementasi navigasi antar-tujuan dalam aplikasi.
Di Android Studio 3.2, Navigation Editor merupakan fitur eksperimental. Untuk mengaktifkan Navigation Editor, klik File > Settings (Android Studio > Preferences di Mac), pilih kategori Experimental pada panel kiri, centang kotak di samping Enable Navigation Editor, lalu mulai ulang Android Studio.
Untuk mempelajari lebih lanjut, baca dokumentasi Navigation Editor.
Migrasi AndroidX
Sebagai bagian dari Jetpack, kami memigrasikan Android Support Library ke library ekstensi
Android baru menggunakan namespace androidx
. Untuk mengetahui informasi
selengkapnya, lihat
ringkasan AndroidX.
Android Studio 3.2 membantu Anda menyelesaikan proses ini dengan fitur migrasi baru.
Untuk memigrasikan project yang ada ke AndroidX, pilih Refactor > Migrate to AndroidX. Jika Anda memiliki dependensi Maven yang belum dimigrasikan ke namespace AndroidX, sistem build Android Studio juga akan otomatis mengonversi dependensi project tersebut.
Plugin Android Gradle menyediakan tanda global berikut yang dapat ditetapkan
dalam file gradle.properties
:
android.useAndroidX
: Jika ditetapkan ketrue
, tanda ini menunjukkan bahwa mulai sekarang Anda ingin menggunakan AndroidX. Jika flag ini tidak ada, Android Studio akan berperilaku seolah flag ini disetel kefalse
.android.enableJetifier
: Jika disetel ketrue
, flag ini menunjukkan bahwa Anda ingin memiliki dukungan alat (dari plugin Android Gradle) untuk otomatis mengonversi library pihak ketiga yang ada, seolah library tersebut ditulis untuk AndroidX. Jika flag ini tidak ada, Android Studio akan berperilaku seolah flag ini disetel kefalse
.
Kedua flag disetel ke true
saat Anda menggunakan
perintah Migrate to AndroidX.
Jika ingin segera mulai menggunakan library AndroidX dan tidak perlu
mengonversi library pihak ketiga yang ada, Anda dapat menetapkan
tanda android.useAndroidX
ke true
dan
tanda android.enableJetifier
ke false
.
Android App Bundle
Android App Bundle adalah format upload baru yang mencakup semua kompilasi kode dan resource aplikasi Anda, tetapi menyerahkan pembuatan serta penandatanganan APK ke Google Play Store.
Model penayangan aplikasi baru Google Play menggunakan app bundle untuk membuat dan menayangkan APK yang dioptimalkan untuk setiap konfigurasi perangkat pengguna, sehingga setiap pengguna hanya perlu mendownload kode dan resource yang diperlukan untuk menjalankan aplikasi. Anda tidak perlu lagi membangun, menandatangani, serta mengelola beberapa APK, dan pengguna akan mendapatkan hasil download yang lebih kecil dan dioptimalkan.
Selain itu, Anda dapat menambahkan modul fitur ke project aplikasi dan menyertakannya dalam app bundle. Kemudian, pengguna dapat mendownload dan menginstal fitur aplikasi secara on demand.
Untuk membangun bundle, pilih Build > Build Bundle(s) / APK(s) > Build Bundle(s).
Untuk mengetahui informasi selengkapnya, termasuk petunjuk untuk mem-build dan menganalisis Android App Bundle, lihat Android App Bundle.
Data sampel di Layout Editor
Banyak tata letak Android yang memiliki data runtime yang dapat mempersulit visualisasi tampilan dan nuansa tata letak selama tahap desain pengembangan aplikasi. Kini Anda dapat melihat pratinjau tampilan di Layout Editor yang sudah diisi dengan data sampel. Saat Anda menambahkan sebuah tampilan, tombol akan muncul di bawah tampilan tersebut pada jendela Design. Klik tombol ini untuk menyetel atribut tampilan waktu desain. Anda dapat memilih dari berbagai template data sampel dan menentukan jumlah item sampel yang akan digunakan untuk mengisi tampilan.
Untuk mencoba menggunakan data sampel, tambahkan
RecyclerView
ke tata letak baru, klik tombol atribut waktu desain
di bawah tampilan, dan pilih pilihan dari carousel template data
sampel.
Slice
Slice menyediakan cara baru untuk menyematkan bagian-bagian dari fungsi aplikasi Anda di lapisan antarmuka pengguna yang lain di Android. Misalnya, dengan Slice, fungsi dan konten aplikasi dapat muncul di saran Google Penelusuran.
Android Studio 3.2 memiliki template bawaan untuk membantu Anda memperluas aplikasi dengan Slice Provider API baru, beserta pemeriksaan lint baru untuk memastikan Anda mengikuti praktik terbaik saat menyusun Slice.
Untuk memulai, klik kanan folder project dan pilih New > Other > Slice Provider.
Untuk mempelajari lebih lanjut, termasuk cara menguji interaksi Slice, baca Panduan memulai Slice.
Kotlin 1.2.61
Android Studio 3.2 menyertakan Kotlin 1.2.61, dan Android SDK yang baru terintegrasi secara lebih baik dengan Kotlin. Untuk mengetahui informasi selengkapnya, lihat blog Developer Android.
IntelliJ IDEA 2018.1.6
Android Studio IDE inti telah diupdate dengan peningkatan dari IntelliJ IDEA melalui rilis 2018.1.6.
Android profiler
Coba fitur-fitur baru Android Profiler berikut di Android Studio 3.2.
Sesi
Kini Anda dapat menyimpan data Profiler sebagai sesi untuk dibuka kembali dan diperiksa di lain waktu. Profiler menyimpan data sesi hingga Anda memulai ulang IDE.
Saat Anda merekam pelacakan metode atau merekam heap dump, IDE akan menambahkan data tersebut (beserta aktivitas jaringan aplikasi) sebagai entri terpisah ke sesi saat ini, dan Anda dapat dengan mudah beralih antar-rekaman untuk membandingkan data.
System Trace
Di CPU profiler, pilih
konfigurasi System Trace baru untuk memeriksa aktivitas thread dan CPU
sistem perangkat. Konfigurasi pelacakan ini di-build di
systrace
dan berguna untuk menyelidiki masalah level sistem, seperti jank pada UI.
Saat menggunakan konfigurasi pelacakan ini, Anda dapat menandai rutinitas kode penting
di linimasa profiler secara visual dengan menginstrumentasi kode C/C++ dengan
API pelacakan native atau kode Java dengan class
Trace
.
Memeriksa referensi JNI di Memory Profiler
Jika Anda men-deploy aplikasi ke perangkat yang menjalankan Android 8.0 (API level 26) atau yang lebih tinggi, kini Anda dapat memeriksa alokasi memori untuk kode JNI aplikasi menggunakan Memory Profiler.
Saat aplikasi sedang berjalan, pilih bagian linimasa yang ingin diperiksa, lalu pilih JNI heap dari menu drop-down di atas daftar class, sebagaimana ditunjukkan di bawah ini. Selanjutnya, Anda dapat memeriksa objek dalam heap seperti biasanya dan mengklik dua kali objek di tab Allocation Call Stack untuk melihat lokasi referensi JNI dialokasikan dan dilepas dalam kode.
Mengimpor, mengekspor, dan memeriksa file heap dump memori
Kini Anda dapat mengimpor, mengekspor, dan memeriksa file heap dumb memori .hprof
yang dibuat
dengan Memory Profiler.
Impor file .hprof
dengan mengklik Start new profiler session
pada
panel Sessions profiler, lalu memilih Load from file. Selanjutnya, Anda dapat
memeriksa datanya di Memory Profiler seperti heap dump lainnya.
Guna menyimpan heap dump untuk ditinjau di lain waktu, gunakan tombol Export Heap Dump di
sebelah kanan entri Heap Dump pada panel Sessions. Pada dialog
Export As yang muncul, simpan file dengan ekstensi nama
file .hprof
.
Merekam aktivitas CPU saat aplikasi dimulai
Kini Anda dapat merekam aktivitas CPU selama proses startup aplikasi seperti berikut:
- Pilih Run > Edit Configurations dari menu utama.
- Di bagian tab Profiling pada konfigurasi berjalan yang diinginkan, centang kotak di sebelah Start recording a method trace on startup.
- Pilih konfigurasi perekaman CPU yang ingin digunakan dari menu dropdown.
- Terapkan aplikasi Anda ke perangkat yang menjalankan Android 8.0 (level API 26) atau yang lebih baru dengan memilih Run > Profile.
Mengekspor rekaman aktivitas CPU
Setelah merekam aktivitas CPU dengan CPU Profiler, Anda dapat mengekspor datanya
sebagai file .trace
untuk dibagikan kepada orang lain atau diperiksa di lain waktu.
Untuk mengekspor rekaman aktivitas CPU, lakukan langkah berikut:
- Klik kanan pada rekaman yang ingin diekspor dari timeline CPU.
- Pilih Export trace dari menu drop-down.
- Arahkan ke lokasi yang diinginkan untuk menyimpan file, lalu klik Save.
Mengimpor dan memeriksa file rekaman aktivitas CPU
Kini Anda dapat mengimpor dan memeriksa file .trace
yang dibuat dengan
Debug API atau
CPU Profiler. (Saat ini, Anda
tidak dapat mengimpor rekaman Pelacakan Sistem.)
Impor file rekaman aktivitas dengan mengklik Start new profiler session di panel Sessions profiler, lalu pilih Load from file. Kemudian, Anda dapat memeriksa datanya di CPU Profiler dengan cara yang mirip seperti biasanya, tetapi terdapat pengecualian berikut:
- Aktivitas CPU tidak ditampilkan di sepanjang linimasa CPU.
- Linimasa aktivitas thread hanya menunjukkan lokasi data rekaman aktivitas tersedia untuk setiap thread, dan bukan status thread aktual (seperti berjalan, menunggu, atau tidur).
Merekam aktivitas CPU menggunakan Debug API
Kini Anda dapat memulai dan menghentikan perekaman aktivitas di CPU Profiler dengan
menginstrumentasi aplikasi menggunakan Debug API. Setelah
men-deploy aplikasi ke perangkat, profiler akan otomatis mulai merekam aktivitas
CPU saat aplikasi memanggil
startMethodTracing(String tracePath)
,
dan profiler akan berhenti merekam saat aplikasi memanggil
stopMethodTracing()
. Saat
merekam aktivitas CPU yang dipicu menggunakan API ini, CPU Profiler akan menampilkan
Debug API sebagai konfigurasi perekaman CPU yang dipilih.
Energy Profiler
Energy Profiler menampilkan visualisasi perkiraan penggunaan energi aplikasi, serta peristiwa sistem yang memengaruhi penggunaan energi, seperti wakelock, alarm, dan tugas.
Energy Profiler muncul sebagai baris baru di bagian bawah jendela Profiler saat Anda menjalankan aplikasi di perangkat yang terhubung atau Android Emulator yang menjalankan Android 8.0 (API 26) atau yang lebih baru.
Klik baris Energy untuk memaksimalkan tampilan Energy Profiler. Tempatkan kursor mouse pada panel di linimasa untuk melihat perincian penggunaan energi oleh CPU, jaringan, dan resource lokasi (GPS), serta peristiwa sistem yang relevan.
Peristiwa sistem yang memengaruhi penggunaan energi ditunjukkan di linimasa System di bawah linimasa Energy. Detail peristiwa sistem dalam rentang waktu yang ditentukan akan ditampilkan pada panel peristiwa saat Anda memilih rentang waktu di linimasa Energy.
Untuk melihat stack panggilan dan detail peristiwa sistem lainnya, seperti wakelock, pilih peristiwa tersebut di panel peristiwa. Guna membuka kode yang ditetapkan untuk suatu peristiwa sistem, klik dua kali entri di stack panggilan.
Pemeriksaan lint
Android Studio 3.2 menyertakan banyak fitur baru dan yang ditingkatkan untuk pemeriksaan lint.
Pemeriksaan lint baru ini membantu Anda menemukan dan mengidentifikasi masalah kode yang umum, mulai dari peringatan tentang potensi masalah kegunaan hingga error prioritas tinggi terkait potensi kerentanan keamanan.
Pemeriksaan lint untuk interoperabilitas Java/Kotlin
Untuk memastikan bahwa kode Java Anda dapat saling beroperasi dengan kode Kotlin, pemeriksaan lint baru akan menerapkan praktik terbaik yang dijelaskan dalam Panduan Interoperabilitas Kotlin. Contoh pemeriksaan ini mencakup pencarian keberadaan anotasi Nullability, penggunaan kata kunci tetap Kotlin, dan penempatan parameter lambda di akhir.
Untuk mengaktifkan pemeriksaan ini, klik File > Settings (Android Studio > Preferences di Mac) untuk membuka dialog Settings, klik bagian Editor > Inspections > Android > Lint > Interoperability > Kotlin Interoperability, lalu pilih aturan yang ingin diaktifkan.
Guna mengaktifkan pemeriksaan ini untuk build command line, tambahkan berikut ini ke
file build.gradle
:
android {
lintOptions {
check 'Interoperability'
}
}
Pemeriksaan lint untuk Slice
Pemeriksaan lint baru untuk Slice membantu memastikan bahwa Anda menyusun Slice dengan benar. Misalnya, pemeriksaan lint akan memperingatkan Anda jika tindakan utama ke suatu Slice belum ditetapkan.
Target Gradle baru
Gunakan tugas Gradle lintFix
baru untuk menerapkan semua perbaikan aman
yang disarankan oleh pemeriksaan lint langsung ke kode sumber. Contoh pemeriksaan lint yang
menyarankan perbaikan yang aman untuk diterapkan adalah SyntheticAccessor
.
Pembaruan metadata
Berbagai metadata, seperti pemeriksaan cast layanan, telah diupdate agar pemeriksaan lint berfungsi dengan Android 9 (API level 28).
Peringatan jika menjalankan lint pada varian baru
Sekarang lint mencatat varian dan versi mana yang digunakan untuk merekam dasar pengukuran, dan lint akan memperingatkan jika Anda menjalankannya pada varian yang berbeda dengan yang digunakan untuk membuat dasar pengukuran.
Pengoptimalan pemeriksaan lint yang ada
Android Studio 3.2 menyertakan banyak peningkatan untuk pemeriksaan lint yang ada. Misalnya, pemeriksaan siklus resource kini berlaku pada jenis resource lain, dan detektor terjemahan dapat dengan cepat menemukan terjemahan yang tidak ada, di editor.
ID masalah lebih mudah ditemukan
Kini ID masalah ditampilkan di lebih banyak tempat, termasuk di jendela Inspection
Results. Hal ini memudahkan Anda menemukan informasi yang diperlukan
untuk mengaktifkan atau menonaktifkan pemeriksaan tertentu melalui lintOptions
di
build.gradle
.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi opsi lint dengan Gradle.
Data Binding V2
Sekarang Data Binding V2 diaktifkan secara default dan kompatibel dengan V1. Dengan kata lain, jika Anda memiliki dependensi library yang dikompilasi dengan V1, Anda dapat menggunakannya dengan project yang memakai Data Binding V2. Namun, perhatikan bahwa project yang menggunakan V1 tidak dapat menggunakan dependensi yang dikompilasi dengan V2.
Desugaring D8
Pada Android Studio 3.1, kami mengintegrasikan langkah desugaring ke dalam D8 sebagai fitur eksperimental, sehingga mengurangi waktu build keseluruhan. Pada Android Studio 3.2, desugaring dengan D8 diaktifkan secara default.
Shrinker kode baru
R8 adalah fitur baru untuk obfuscation dan penyingkatan kode yang menggantikan ProGuard. Anda dapat mulai menggunakan versi pratinjau R8 dengan menyertakan kode berikut dalam file gradle.properties
project:
android.enableR8 = true
ABI default untuk multi-APK diubah
Saat membangun multi-APK yang
masing-masing menargetkan ABI berbeda, secara default plugin tidak lagi menghasilkan APK untuk
ABI berikut: mips
, mips64
, dan armeabi
.
Jika ingin membuat APK yang menargetkan ABI ini, Anda harus menggunakan
NDK r16b atau yang lebih lama dan menentukan ABI
dalam file build.gradle
Anda, seperti ditunjukkan di bawah ini:
splits { abi { include 'armeabi', 'mips', 'mips64' ... } }
splits { abi { include("armeabi", "mips", "mips64") ... } }
Catatan: Perubahan perilaku ini juga tercakup dalam Android Studio 3.1 RC1 dan yang lebih tinggi.
Fitur editor yang ditingkatkan untuk file build CMake
Jika Anda menggunakan CMake untuk menambahkan kode C dan C++ ke project, kini Android Studio menyertakan fitur editor yang ditingkatkan guna membantu Anda mengedit skrip build CMake, seperti berikut:
- Penandaan sintaksis dan pelengkapan kode: Kini IDE menandai dan menyarankan pelengkapan kode untuk perintah CMake umum. Selain itu, Anda dapat membuka file dengan mengkliknya sambil menekan tombol Control (Command di Mac).
- Pemformatan ulang kode: Kini Anda dapat menggunakan opsi pemformatan ulang kode IntelliJ untuk menerapkan gaya kode ke skrip build CMake.
- Pemfaktoran ulang yang aman: Kini alat pemfaktoran ulang bawaan IDE juga memeriksa apakah Anda mengganti nama atau menghapus file yang direferensikan dalam skrip build CMake.
Membuka file header eksternal
Saat menggunakan jendela Project di Android Studio versi sebelumnya, Anda hanya dapat membuka dan memeriksa file header yang termasuk dalam library yang Anda build dari project lokal. Dengan rilis ini, sekarang Anda juga dapat melihat dan memeriksa file header yang disertakan dengan dependensi library C/C++ eksternal yang Anda impor ke dalam project aplikasi.
Jika Anda sudah memasukkan kode dan library C/C++ dalam project, buka jendela Project di sebelah kiri IDE dengan memilih View > Tool Windows > Project dari menu utama, lalu pilih Android dari menu drop-down. Pada direktori cpp, semua header yang ada dalam cakupan project aplikasi Anda akan diatur di node include untuk setiap dependensi library C/C++ lokal, seperti ditunjukkan di bawah ini.
Native multidex diaktifkan secara default
Android Studio versi sebelumnya mengaktifkan native multidex saat men-deploy versi debug sebuah aplikasi ke perangkat yang menjalankan Android API level 21 atau lebih tinggi. Sekarang, baik Anda men-deploy ke perangkat atau mem-build APK untuk rilis, plugin Android untuk Gradle akan mengaktifkan native multidex untuk semua modul yang menetapkan minSdkVersion=21
atau yang lebih tinggi.
AAPT2 dipindahkan ke repositori Maven Google
Mulai Android Studio 3.2, sumber untuk AAPT2 (Android Asset Packaging Tool 2) adalah repositori Maven Google.
Untuk menggunakan AAPT2, pastikan Anda memiliki dependensi google()
dalam file build.gradle
, seperti ditunjukkan di sini:
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() } }
buildscript { repositories { google() // here jcenter() } dependencies { classpath("com.android.tools.build:gradle:3.2.0") } } allprojects { repositories { google() // and here jcenter() } }
AAPT2 versi baru ini memperbaiki banyak masalah, termasuk penanganan karakter non-ASCII yang lebih baik di Windows.
Penghapusan konfigurasi sesuai permintaan
Preferensi Configure on demand telah dihapus dari Android Studio.
Android Studio tidak lagi meneruskan argumen --configure-on-demand
ke Gradle.
ADB Connection Assistant
ADB Connection Assistant yang baru menyediakan petunjuk langkah demi langkah untuk membantu Anda menyiapkan dan menggunakan perangkat melalui koneksi Android Debug Bridge (ADB).
Untuk memulai asisten ini, pilih Tools > Connection Assistant.
ADB Connection Assistant menyediakan petunjuk, kontrol sesuai konteks, dan daftar perangkat yang terhubung dalam serangkaian halaman di panel Assistant.
Peningkatan emulator
Sekarang Anda dapat menyimpan serta memuat snapshot AVD (perangkat virtual Android) kapan saja di Android Emulator, sehingga Anda dapat mengembalikan perangkat emulasi ke kondisi yang diketahui untuk pengujian dengan cepat dan mudah. Saat mengedit AVD menggunakan AVD Manager, Anda dapat menentukan snapshot AVD yang akan dimuat saat AVD dimulai.
Kini kontrol untuk menyimpan, memuat, dan mengelola snapshot AVD tersedia dari tab Snapshot di jendela Extended controls pada emulator.
Untuk mengetahui detailnya, lihat Snapshot.
Untuk mengetahui informasi tambahan tentang hal-hal yang baru dan berubah di Emulator, lihat catatan rilis Emulator.