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 menjadi argType.
  • 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 library androidx.*.
    • 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 ke true, Anda harus menyertakan berikut ini di setiap file build.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 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 di 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 ke true, tanda ini menunjukkan bahwa mulai sekarang Anda ingin menggunakan AndroidX. Jika flag ini tidak ada, Android Studio akan berperilaku seolah flag ini disetel ke false.
  • android.enableJetifier: Jika disetel ke true, 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 ke false.

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:

  1. Pilih Run > Edit Configurations dari menu utama.
  2. Di bagian tab Profiling pada konfigurasi berjalan yang diinginkan, centang kotak di sebelah Start recording a method trace on startup.
  3. Pilih konfigurasi perekaman CPU yang ingin digunakan dari menu dropdown.
  4. 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:

  1. Klik kanan pada rekaman yang ingin diekspor dari timeline CPU.
  2. Pilih Export trace dari menu drop-down.
  3. 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.

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.