Rilis Android Studio sebelumnya

Halaman ini mencantumkan fitur dan peningkatan baru untuk setiap rilis utama rilis Android Studio sebelumnya. Untuk melihat hal yang baru di versi terbaru, lihat catatan rilis Android Studio saat ini.

Untuk mengetahui berita terbaru terkait rilis, termasuk daftar perbaikan penting dalam setiap rilis pratinjau, lihat update rilis. Untuk mendapatkan informasi tentang hal yang baru dalam plugin Android Gradle, lihat catatan rilis.

Kompatibilitas Android Studio dan plugin Android Gradle

Sistem build Android Studio didasarkan pada Gradle. Plugin Android Gradle menambahkan beberapa fitur yang dikhususkan untuk mem-build aplikasi Android. Tabel berikut mencantumkan versi plugin Android Gradle yang diperlukan untuk setiap versi Android Studio.

Versi Android Studio Versi plugin yang diperlukan
Flamingo | 2022.2.1 3.2-8.0
Electric Eel | 2022.1.1 3.2-7.4
Dolphin | 2021.3.1 3.2-7.3
Chipmunk | 2021.2.1 3.2-7.2
Bumblebee | 2021.1.1 3.2-7.1
Arctic Fox | 2020.3.1 3.1-7.0

Untuk mendapatkan informasi tentang hal yang baru dalam plugin Android Gradle, lihat catatan rilis plugin Android Gradle.

Android Studio Chipmunk | 2021.2.1

Dukungan untuk membuat aplikasi dengan Jetpack Compose

Pratinjau Animasi mendukung animatedVisibility

Android Studio Chipmunk mendukung animatedVisibility API dalam Pratinjau Animasi. Untuk menggunakan pratinjau Animasi dengan animatedVisibility, gunakan Compose versi 1.1.0 atau yang lebih tinggi. Untuk mempelajari Pratinjau Animasi lebih lanjut, lihat Animasi.

Dukungan untuk men-deploy pratinjau dari Modul Library

Pratinjau memungkinkan Anda melihat UI dalam Android Studio tanpa harus menjalankan aplikasi di perangkat fisik. Di Android Studio Chipmunk, Anda dapat men-deploy @Preview tertentu ke emulator atau perangkat fisik dari Modul Library. Untuk mempelajari lebih lanjut, lihat Men-deploy Pratinjau.

Dukungan untuk membuat profil aplikasi

Mendeteksi jank di Android 12 dan versi yang lebih tinggi

Untuk perangkat yang menggunakan Android 12 atau yang lebih baru, rekaman aktivitas akan ditampilkan di jalur Janky frames pada panel Display di CPU Profiler.

Untuk mendeteksi jank,

  1. Dari emulator atau perangkat pengembangan, mulai aplikasi.
  2. Di Android Studio, pilih View > Tool Windows > Profiler atau klik Profile di toolbar.

    Jika diminta oleh dialog Select Deployment Target, pilih perangkat tujuan deployment aplikasi untuk pembuatan profil. Jika Anda telah menyambungkan perangkat melalui USB, tetapi tidak melihatnya tercantum, pastikan Anda telah mengaktifkan proses debug USB.

  3. Klik di mana saja dalam linimasa CPU untuk membuka CPU Profiler.

  4. Anda akan melihat jalur Janky frames di bagian Display. Secara default, Profiler hanya menampilkan frame yang mengalami jank sebagai kandidat untuk diselidiki. Dalam setiap frame yang mengalami jank, bagian berwarna merah menandai durasi frame yang melebihi batas waktu renderingnya. Screenshot jalur Janky frames

  5. Setelah menemukan frame yang mengalami jank, klik frame tersebut; jika mau, Anda dapat menekan M untuk menyesuaikan zoom agar fokus pada frame yang dipilih. Peristiwa yang relevan akan ditandai di thread utama: RenderThread dan GPU completion. Screenshot Profiler yang menampilkan Janky frames dan thread utama

  6. Jika ingin, Anda dapat melihat semua frame atau pengelompokan waktu rendering dengan mengalihkan kotak centang All Frames dan Lifecycle. Screenshot Profiler seperti di atas tetapi dengan kotak centang All Frames dan Lifecycle dicentang

Untuk informasi selengkapnya, lihat Deteksi jank UI.

Rilis patch

Berikut ini adalah daftar rilis patch di Android Studio Chipmunk.

Android Studio Chipmunk | 2021.2.1 Patch 2 (Agustus 2022)

Update minor ini mencakup update dan perbaikan bug berikut:

Dukungan platform Android

Dengan Android Studio Chipmunk Patch 2 dan Android Gradle 7.2.2, Anda dapat mengompilasi di Android 13 API dengan menyetel compileSdk=33. Versi SDK minimum yang didukung adalah 32. minSdk = 33 tidak didukung hingga plugin Android Gradle 7.3.0-beta05.

Perbaikan Masalah
C++ Debugger
Versi rilis library native dari project dependen dikemas bahkan untuk varian build debug
Alat Desain
Ctrl + D atau tombol "show diff" tidak menampilkan perbedaan git
Dexer (D8)
Mendokumentasikan versi compiler yang diperlukan untuk setiap versi library desugaring
Gradle
Positif Palsu UnusedResources Lint dengan Impor Alias
Impor/Sinkronisasi
Mem-build masalah dengan beberapa ragam produk dalam versi baru
Penyingkat (R8)
ArrayIndexOutOfBoundsException di IntSwitch
R8 3.1.7-dev dan yang lebih baru mengoptimalkan Enum secara tidak benar, yang menyebabkan NoSuchFieldError
R8 menyebabkan VerifyError pada library Scala
Gradle 7.2.0 menyebabkan error build APK com.android.tools.r8.CompilationFailedException
NPE di penyingkat, R8 versi 3.2.60
[R8 3.3.57] NoClassDefFound karena antarmuka diganti dengan class abstrak dengan persyaratan SDK yang lebih tinggi
NullPointerException di FieldAssignmentTracker menggunakan 3.3.35

Android Studio Chipmunk | 2021.2.1 Patch 1 (Mei 2022)

Update minor ini mencakup perbaikan bug berikut:

Perbaikan Masalah
Dexer (D8)
VM Art/Dalvik sebelum versi 8 tidak mendukung perbaikan untuk JDK-8272564
IntelliJ
Pengamat file gagal dimulai di Ubuntu 20.04
Menu Panel Sentuh MBP 15" 2018 terlewat.
Eksekusi
Opsi perangkat tidak terlihat dan tidak dapat menjalankan aplikasi meskipun modul aplikasi tersedia.
Penyingkat (R8)
Mengapa R8 tidak melakukan backport pada metode antarmuka default, tetapi D8 melakukannya?
REFERENSI MELINGKAR: Jenis com.android.tools.r8.internal.R10: Tidak terduga saat konversi ke primitive: OBJECT

Android Studio Bumblebee | 2021.1.1

Android Studio Bumblebee adalah rilis utama yang menyertakan fitur dan peningkatan berikut.

Pratinjau interaktif Compose diaktifkan secara default

Mulai dari Android Studio Bumblebee, fitur pratinjau interaktif diaktifkan secara default. Pratinjau interaktif memungkinkan Anda berinteraksi dengan pratinjau layaknya berinteraksi dengan perangkat. Pratinjau interaktif diisolasi dari pratinjau lain di lingkungan sandbox. Di sini, Anda dapat mengklik elemen dan memasukkan input pengguna dalam pratinjau. Ini adalah cara cepat untuk menguji berbagai status dan gestur dari composable Anda, seperti kotak centang yang dicentang atau kosong.

Mode interaktif pratinjau berjalan langsung di dalam Android Studio tanpa menjalankan emulator, yang menyebabkan beberapa batasan:

  • Tidak ada akses jaringan.
  • Tidak ada akses file.
  • Beberapa Context API mungkin tidak sepenuhnya tersedia.

Pengguna berinteraksi dengan pratinjau di dalam Android Studio

Pratinjau Animated Vector Drawable (AVD)

Alat Animated Vector Drawable menawarkan kemampuan untuk melihat pratinjau resource drawable animasi. Alat ini membantu Anda melihat pratinjau resource <animation-list>, <animated-vector>, dan <animated-selector> di Android Studio dan mempermudah penyesuaian animasi kustom.

Pengguna melihat pratinjau dan memutar animasi di dalam Android Studio

Update alat pilih perangkat untuk alat desain

Guna menyederhanakan desain aplikasi Anda untuk beragam perangkat Android, kami telah mengupdate alat pilih perangkat di berbagai jendela alat desain, seperti Layout Editor dan Layout Validation, dengan perangkat referensi yang mencerminkan ukuran populer setiap faktor bentuk perangkat. Mulai dari ponsel hingga tablet dan perangkat Wear hingga Android TV, kini pratinjau, validasi, atau pengeditan tata letak di ukuran layar yang paling mewakili perangkat populer di dunia nyata menjadi lebih mudah.

Alat pilih perangkat dengan perangkat serta ukuran dan kepadatannya, yang dikelompokkan menurut class

Eksekusi uji KMP

Anda dapat menjalankan pengujian untuk project Kotlin Multiplatform (KMP) dari Android Studio Bumblebee.

Untuk memastikan bahwa pengujian Anda berhasil dijalankan dari Android Studio, Anda harus memiliki semua persyaratan berikut:

  • AGP 7.0.0-alpha08 atau yang lebih tinggi
  • Gradle 6.8.2 atau yang lebih tinggi
  • Plugin Kotlin 1.4.30 atau yang lebih tinggi

Class R non-transitif aktif secara default

Class R non-transitif kini aktif secara default. Anda dapat menggunakan class R non-transitif dengan plugin Android Gradle guna membuat build yang lebih cepat untuk aplikasi dengan beberapa modul. Cara ini membantu mencegah duplikasi resource dengan memastikan bahwa class R setiap modul hanya berisi referensi ke resource-nya sendiri, tanpa mengambil referensi dari dependensinya. Dengan demikian, build menjadi lebih baru dan Anda dapat menghindari kompilasi terkait.

Anda bisa mendapatkan bantuan menggunakan fitur ini dengan membuka Refactor > Migrate to Non-Transitive R Classes...

Update dukungan Apple Silicon

Bagi pengguna macOS dengan hardware Apple Silicon (arm64), Android Studio Arctic Fox dan Android Emulator telah mendukung arsitektur baru ini sejak tahun lalu. Namun, dengan rilis ini, kami kini telah mengupdate alat platform Android SDK v32.0.0 (yang menyertakan adb dan fastboot) dan alat build v32.1.0 (yang menyertakan aapt) menjadi biner universal sehingga alat developer Android tidak lagi memerlukan penerjemah biner Rosetta. Lihat catatan rilis alat platform SDK.

Baru di Layout Inspector

Mengambil snapshot hierarki tata letak

Layout Inspector kini memungkinkan Anda menyimpan snapshot hierarki tata letak aplikasi yang sedang berjalan, sehingga Anda dapat membagikannya dengan mudah kepada orang lain atau menunjukkannya nanti.

Snapshot merekam data yang biasanya akan Anda lihat saat menggunakan Layout Inspector, termasuk rendering 3D mendetail dari tata letak, hierarki komponen tata letak View, Compose, atau hybrid, serta atribut mendetail untuk setiap komponen UI Anda. Untuk menyimpan snapshot, lakukan hal berikut:

  1. Deploy aplikasi ke perangkat yang menjalankan API level 23 atau yang lebih tinggi
  2. Buka Layout Inspector dengan memilih View > Tool Windows > Layout Inspector.
  3. Layout Inspector akan otomatis terhubung ke proses aplikasi Anda. Jika tidak, pilih proses aplikasi dari menu dropdown.
  4. Jika Anda ingin mengambil snapshot, klik Export snapshot Ikon
ekspor dari toolbar Layout Inspector.
  5. Pada dialog sistem yang muncul, tentukan nama dan lokasi yang diinginkan untuk menyimpan snapshot. Pastikan untuk menyimpan file dengan ekstensi *.li.

Anda dapat memuat snapshot Layout Inspector dengan memilih File > Open dari panel menu utama, dan membuka file *.li.

Snapshot Layout Inspector untuk aplikasi contoh Sunflower

Dukungan untuk memeriksa semantik Compose

Di Compose, Semantik mendeskripsikan UI dengan cara alternatif yang dapat dipahami untuk layanan Aksesibilitas dan untuk framework Pengujian. Di Android Studio Bumblebee, Anda kini dapat menggunakan Layout Inspector untuk memeriksa informasi semantik di tata letak Compose.

Informasi semantik yang ditampilkan melalui Layout Inspector

Saat memilih node Compose, gunakan jendela Attributes untuk memeriksa apakah node mendeklarasikan informasi semantik secara langsung, menggabungkan semantik dari turunannya, atau keduanya. Untuk mengidentifikasi node yang menyertakan semantik dengan cepat, baik dideklarasikan ataupun digabungkan, gunakan menu dropdown View options di jendela Component Tree dan pilih Highlight Semantics Layers. Tindakan ini hanya akan menandai node dalam hierarki yang menyertakan semantik, dan Anda dapat menggunakan keyboard untuk berpindah antar-node dengan cepat.

Menghindari mulai ulang Activity

Menghubungkan Layout Inspector ke aplikasi yang berjalan pada Android Studio versi lama akan menyebabkan Activity aplikasi dimulai ulang. Hal ini diperlukan untuk menyetel flag perangkat yang memungkinkan pemeriksaan tata letak aplikasi Anda.

Di Android Studio Bumblebee, Anda dapat menghindari Activity dimulai ulang saat menghubungkan Layout Inspector dengan menyetel flag ini sebelumnya menggunakan salah satu langkah berikut:

  • Mengaktifkan opsi Run Configuration

    1. Pilih Run > Edit Configurations dari panel menu utama. Dialog Run/Debug Configurations akan muncul.
    2. Buka konfigurasi run yang ingin Anda gunakan.
    3. Di bagian Layout Inspector options, centang kotak di samping Connect to Layout Inspector without restarting activity.
    4. Gunakan konfigurasi run saat lain kali Anda ingin memeriksa aplikasi menggunakan Layout Inspector.
  • Menyetel flag dari command line:

    1. Buka jendela terminal pada mesin yang terhubung ke perangkat Anda
    2. Setel flag perangkat untuk aplikasi Anda menggunakan perintah berikut:
    adb shell settings put global debug_view_attributes_application_package <my_package_name>
    
    1. Deploy aplikasi Anda ke perangkat dan hubungkan Layout Inspector. Android Studio akan memeriksa apakah flag telah disetel dan menghindari mulai ulang Activity jika memungkinkan.

Mendokumentasikan snapshot Layout Inspector

Anda kini dapat mengambil snapshot hierarki tata letak aplikasi untuk disimpan, dibagikan, atau diperiksa nanti. Snapshot merekam data yang biasanya akan Anda lihat saat menggunakan Layout Inspector, termasuk rendering 3D mendetail dari tata letak, hierarki komponen tata letak View, Compose, atau hybrid, serta atribut mendetail untuk setiap komponen UI Anda. Saat memeriksa tata letak aplikasi yang sedang berjalan, klik Export snapshot Ikon
ekspor dari toolbar Layout Inspector dan simpan snapshot dengan ekstensi *.li. Anda dapat memuat snapshot Layout Inspector dengan memilih File > Open dari panel menu utama, dan membuka file *.li. Snapshot akan muncul di tab dalam jendela Editor, sehingga Anda dapat mudah membandingkannya dengan aplikasi yang sedang berjalan.

Baru di App Inspection

Di Android Studio Bumblebee, ada beberapa alat dan fungsi baru di jendela App Inspection. Anda dapat membuka App Inspector dengan memilih View > Tool Windows > App Inspection dari panel menu utama.

Network Inspector

Network Profiler di jendela alat Profiler kini telah dipindahkan ke jendela alat App Inspection. Jika sebelumnya Anda telah menggunakan Network Profiler, semua fitur dan data traffic jaringan lengkap yang sama masih tersedia. Cukup deploy aplikasi Anda ke perangkat yang menjalankan API level 26 dan yang lebih tinggi, lalu buka tab App Inspector > Network Inspector.

Memeriksa Tugas, Alarm, dan Wakelock

Kini Background Task Inspector memungkinkan Anda memeriksa Tugas, Alarm, dan Wakelocks aplikasi, selain dukungan yang ada untuk memeriksa Pekerja. Setiap jenis tugas asinkron kini muncul dengan judul yang sesuai di tab inspector, yang memungkinkan Anda memantau status dan progresnya dengan mudah. Serupa dengan Pekerja, Anda dapat memilih Tugas, Alarm, atau Wakelock untuk memeriksa informasi mendetailnya di panel Task Details.

Background Task Inspector menampilkan Tugas, Alarm, dan Wakelock

Karena Pekerja menggunakan Tugas dan Wakelock di balik layar, tugas yang dijadwalkan oleh Pekerja akan muncul sebagai turunan dari setiap Pekerja. Perlu diingat, Anda hanya dapat melihat Pekerja dalam mode Grafik.

Proses debug nirkabel

Android Studio Bumblebee mendukung fitur proses debug nirkabel di Android 11 dan perangkat yang lebih tinggi. Sambungkan dan deploy aplikasi dari Android Studio melalui Wi-Fi tanpa menggunakan kabel USB atau mengelola koneksi Android Debug Bridge (adb) dengan command line. Untuk menggunakannya, buka opsi Pair devices using Wi-Fi dari menu pilihan perangkat, lalu pilih kode QR atau Kode PIN Penyambungan. Kemudian, pada perangkat Android 11 dan yang lebih tinggi, di bagian Developer options, temukan layar Wireless Debugging, lalu lakukan inisialisasi dan hubungkan ke sesi adb secara nirkabel dengan Android Studio. Pelajari lebih lanjut penyiapan proses debug nirkabel di Menghubungkan ke perangkat melalui Wi-Fi (Android 11+).

Menyambungkan perangkat melalui Wi-Fi

Runner pengujian Gradle terpadu

Plugin Android Gradle 7.1.0 dan Android Studio Bumblebee dan yang lebih tinggi menggunakan implementasi Gradle sendiri untuk runner pengujian berinstrumen Android guna menjalankan pengujian berinstrumen. Dengan menggunakan runner pengujian yang sama, hasilnya kemungkinan akan konsisten baik Anda berjalan menggunakan AGP dari command line, seperti di server integrasi berkelanjutan, atau dari Android Studio.

Runner pengujian Gradle terpadu di Bumblebee

Android Studio versi sebelumnya menggunakan runner pengujian berinstrumen Android IntelliJ, bukan runner pengujian berinstrumen Android Gradle. Jadi, jika Anda tidak menggunakan Android Studio versi terbaru, bergantung pada apakah Anda menjalankan pengujian dari Android Studio atau dari command line menggunakan plugin Gradle, Anda mungkin akan melihat hasil pengujian yang berbeda: seperti pengujian yang lulus menggunakan satu runner dan gagal dengan runner lainnya.

Runner pengujian terpisah pada Android Studio versi lama

Jika Anda sudah memiliki konfigurasi pengujian berinstrumen yang disimpan ke project, konfigurasi tersebut akan menggunakan Gradle untuk menjalankan pengujian pada perangkat yang terhubung. Anda dapat membuat konfigurasi pengujian berinstrumen baru menggunakan tindakan gutter di samping class atau metode pengujian Anda, seperti yang ditunjukkan di bawah.

Menjalankan pengujian dari tindakan gutter

Saat menjalankan pengujian berinstrumen, Anda dapat mengonfirmasi bahwa Android Studio menggunakan runner pengujian Gradle dengan memeriksa output pengujian dalam output tugas Matriks Uji untuk Gradle. Meskipun kami meningkatkan fitur ini di setiap rilis Android Studio, ada beberapa masalah umum. Jika Anda mengalami masalah, silakan laporkan bug. Anda juga dapat menonaktifkan pipeline pengujian baru untuk kembali ke perilaku lama.

Android Emulator kini berjalan langsung di dalam Android Studio secara default

Android Emulator berjalan langsung di dalam Android Studio secara default. Hal ini memungkinkan Anda mempertahankan real estate layar, berpindah dengan cepat antara emulator dan jendela editor menggunakan hotkeys, serta mengatur alur kerja IDE dan emulator dalam satu jendela aplikasi.

Emulator diluncurkan di jendela alat di Android Studio.

Saat emulator berjalan, Anda akan memiliki akses ke tindakan emulator umum seperti memutar, dan opsi kontrol yang diperluas seperti pemutaran navigasi. Untuk menjalankan emulator di jendela terpisah, buka File > Settings > Tools > Emulator (Android Studio > Preferences > Tools > Emulator di macOS), lalu batalkan pilihan Launch in a tool window.

Menonaktifkan pipeline pengujian baru

Secara default, Android Studio Bumblebee menggunakan Gradle untuk menjalankan uji instrumentasinya. Jika mengalami masalah, Anda dapat menonaktifkan perilaku berikut:

  1. Pilih File > Settings > Build, Execution, Deployment > Testing (atau Android Studio > Preferences > Build, Execution, Deployment > Testing di MacOS.)
  2. Hapus centang pada kotak di samping Run Android instrumented tests using Gradle dan klik OK.

Anda juga dapat kembali ke perilaku lama dengan melakukan salah satu tindakan berikut:

  • Saat menjalankan tugas Gradle dari command line, gunakan parameter command line berikut: -Pandroid.experimental.androidTest.useUnifiedTestPlatform=false
  • Tambahkan parameter berikut ke file gradle.properties project Anda: android.experimental.androidTest.useUnifiedTestPlatform=false

Untuk membantu menyelesaikan masalah yang mungkin Anda alami, laporkan bug.

Pengelola Perangkat Baru

Jendela Pengelola Perangkat baru dengan opsi menu "pair device" yang ditandai

Pengelola Perangkat adalah pengganti AVD Manager, baik dari Layar Selamat Datang Android Studio maupun setelah Anda membuka project. Pengelola Perangkat memperkenalkan beberapa kemampuan baru yang memudahkan Anda membuat dan mengelola semua perangkat pengujian lokal, seperti:

  • UI lebih fleksibel yang bisa dikaitkan ke IDE, jendela mengambang, atau di jendela terpisah, seperti yang dapat Anda lakukan dengan jendela alat Android Studio lainnya. Hal ini akan mempermudah akses ke perangkat Anda tanpa menghalangi jendela IDE lainnya.
  • Tab Virtual yang memungkinkan Anda membuat, mengelola, dan men-deploy perangkat virtual; melihat detail setiap perangkat secara sekilas; atau memeriksa perangkat dengan cepat di Device File Explorer dengan sekali klik.
  • Tab Physical yang memungkinkan Anda dengan cepat menyambungkan ke perangkat baru menggunakan ADB Wifi dan melihat detail setiap perangkat fisik secara sekilas. Anda juga dapat memeriksa sistem file setiap perangkat secara cepat menggunakan Device File Explorer dengan mengklik tombol.

Untuk membuka Pengelola Perangkat baru, lakukan salah satu hal berikut:

  • Dari layar Selamat Datang Android Studio, pilih More Actions > Virtual Device Manager.
  • Setelah membuka project, pilih View > Tool Windows > Device Manager dari panel menu utama.

Deteksi jank UI

Saat membuat profil aplikasi menggunakan perangkat yang menjalankan Android 11 (API level 30) atau yang lebih tinggi, CPU profiler kini menampilkan grup jalur baru yang mengilustrasikan tahap setiap frame di bagian Frame Lifecycle: Application, Wait for GPU, Composition, dan Frames on display. Setiap jalur melabeli frame dengan nomor frame dan memberi kode warna persegi panjang untuk memudahkan Anda memvisualisasikan posisi frame tertentu dalam siklus prosesnya, beserta panduan untuk beralih untuk dibandingkan dengan peristiwa Vsync. Anda dapat menggunakan data ini untuk mengetahui kemungkinan lokasi jank di aplikasi dan menyelidiki penyebab utamanya. Di panel Analysis, kini ada tab Frames, yang dengan mudah meringkas informasi rendering untuk semua frame. Untuk informasi selengkapnya, lihat Deteksi jank UI.

Dukungan pembuatan profil aplikasi profileable

Saat membuat profil aplikasi, penting untuk membuat data yang akurat dengan versi aplikasi yang paling mirip dengan versi yang akan diinstal pengguna. Untuk melakukannya, kini Anda dapat menyertakan properti <profileable> dalam manifes aplikasi ke aplikasi profil yang tidak dapat di-debug, seperti yang ditunjukkan oleh kode berikut.

<profileable android:shell="true"/>

Profileable adalah konfigurasi manifes yang diperkenalkan di Android 10, dan tersedia untuk tugas pembuatan profil CPU dan Memori. Penggunaan flag profileable, bukan flag debuggable, memiliki keunggulan utama berupa overhead lebih rendah untuk pengukuran performa. Namun, fitur pembuatan profil tertentu tidak tersedia untuk build Profileable, seperti linimasa Peristiwa, pembuatan profil CPU yang dimulai oleh API, heap dump, atau rekaman lokasi langsung. Untuk informasi selengkapnya, lihat Aplikasi Profileable.

Menciutkan frame callstack

Anda kini dapat menciutkan frame yang tidak relevan dengan investigasi Anda saat memeriksa Callstack Sample Recording di jendela alat Profilers. Callstack berguna untuk memahami bagian kode mana yang telah dieksekusi, dan alasan kode dipanggil. Namun, callstack untuk program Java/Kotlin biasanya tidak hanya menyertakan kode Java/Kotlin, tetapi juga frame dari kode native yang dapat mengganggu. Untuk mempelajari lebih lanjut cara meningkatkan tampilan callstack, lihat Memeriksa frame callstack.

Rilis patch

Berikut adalah daftar rilis Patch di Android Studio Bumblebee.

Android Studio Bumblebee | 2021.1.1 Patch 3 (April 2022)

Update minor ini mencakup perbaikan bug berikut:

  • Plugin Android Gradle
    • Masalah class duplikat yang dilaporkan oleh R8
  • Varian Build
    • versionNameSuffix tidak lagi berfungsi jika nama versi varian ditetapkan melalui onVariants API yang baru
  • Pratinjau Compose
    • Perbaikan bug terkait performa dan stabilitas.
    • Mengatasi masalah freeze yang terjadi sesekali saat menggunakan fitur Live Edit of Literals.
  • Network Inspector
    • Network Inspector baru mengalami error setelah Bumblebee diupdate
    • Saya terus-menerus mendapatkan error ini saat debugger terhubung pada Android Studio versi terbaru.
    • TrackedHttpURLConnection.getHeaderField mengalami error dengan NullPointerException
Untuk mengetahui informasi selengkapnya, lihat postingan blog Android Studio Bumblebee Patch 3

Android Studio Bumblebee | 2021.1.1 Patch 2 (Februari 2022)

Update ini mencakup perbaikan bug berikut:

  • C++ Build
    • ModelCache.safeGet(androidProjectResult.androidProject::getNdkVersion, "") tidak boleh null
  • Editor Kode
    • Bug di Android Studio Live Templates - ekspresi className() tidak me-resolve nama class
  • D8/R8
    • java.lang.NoSuchMethodError: Tidak ada metode statis $jacocoInit
    • Cakupan pengujian Android rusak karena error Mockito
    • Memerlukan solusi untuk penerapan CAS yang rusak di API 31
    • Class tertutup tidak didukung
    • NullPointerException saat mengaktifkan penggabungan class horizontal di Chrome
    • AbstractMethodError setelah penggabungan metode virtual
    • Kegagalan untuk memverifikasi frame stack karena jenis luar class init salah
    • Input dex menggunakan register yang tidak ditentukan
    • StringBuilderOptimizerAnalysisTest gagal di cabang rilis
    • Non-determinisme di R8
  • Deployment
    • Gagal menjalankan project aplikasi pemilik perangkat dengan pesan error "Couldn't terminate the existing process for"
  • Alat Desain
    • Pratinjau Compose gagal menemukan resource dari modul lain saat class R non-transitif diaktifkan
    • Studio berhenti berfungsi di build.
  • Emulator Tersemat
    • Beragam peningkatan performa dan stabilitas.
  • Impor/Sinkronisasi
    • Error IDE saat meluncurkan Bumblebee: File build listingan output tidak tersedia untuk APK jenis output di IdeBuildTasksAndOutputInformationImp
  • IntelliJ
    • Variabel Env tidak bersumber saat diluncurkan dari Mac OS X Monterey Dock
  • Jetpack (androidx) > Navigasi
    • Mengupgrade SafeArgs agar dibuat di AGP stabil terbaru
  • Jendela Alat
    • Tidak dapat menjalankan Pengelola Perangkat Android
    • Network Inspector di BumbleBee tidak menampilkan respons API dalam format yang dapat dibaca
Untuk mengetahui informasi selengkapnya, lihat postingan blog Android Studio Bumblebee Patch 2

Android Studio Bumblebee | 2021.1.1 Patch 1 (Februari 2022)

Update minor ini mencakup perbaikan bug berikut:

  • Emulator
    • Tidak dapat terhubung ke emulator sematan setelah mengupgrade ke Bumblebee (Mac M1)
  • IntelliJ
    • Variabel Env tidak bersumber saat diluncurkan dari Mac OS X Monterey Dock

Untuk mengetahui informasi selengkapnya, lihat postingan blog Android Studio Bumblebee Patch 1.

Android Studio Arctic Fox | 2020.3.1

Android Studio Arctic Fox merupakan rilis utama yang menyertakan fitur dan peningkatan berikut.

Android Studio Arctic Fox | 2020.3.1 Patch 4 (Desember 2021)

Update minor ini mencakup perbaikan bug berikut:

  • Plugin Android Gradle
    • Menyetel Provider untuk VariantOutput.verison dapat tidak berfungsi dengan cache konfigurasi
    • gradeResValues.xml tidak diupdate pada penandatanganan rilis
  • D8/R8
    • java.lang.ClassCastException ditampilkan di konstruktor class dalam build yang diminifikasi oleh R8
    • Penyesuaian jenis yang tidak dapat dijangkau selama penggabungan dex
    • java.lang.VerifyError: Pemverifikasi gagal memverifikasi karena kolom instance tidak dapat diakses dari objek jenis Reference.java.lang.Object
  • Lint
    • Menonaktifkan pemeriksaan lint MediaCapabilities
    • Lint melaporkan error positif palsu [Instantiable] saat shrinkResources diaktifkan
  • Template
    • Opsi Import Module berwarna abu-abu

Untuk informasi selengkapnya, lihat postingan blog 2020.3.1 Patch 4.

Android Studio Arctic Fox | 2020.3.1 Patch 3 (Oktober 2021)

Update minor ini mencakup perbaikan bug berikut:

  • Plugin Android Gradle
    • plugin mandiri lint tidak menangani dependensi gradleApi() dengan benar
    • Build JPS dipicu saat build Gradle berjalan di luar Studio
    • Mengaktifkan KSP dan Kapt dalam project dengan prosesor yang memuatnya dan menghasilkan sumber akan merusak BundleLibraryClassesInputs
  • Editor C++
    • UI berhenti berfungsi karena komputasi JniReferencesSearch yang panjang di latar belakang
  • Database Inspector
    • Mengizinkan penyimpanan DB
    • Tidak dapat mengekspor data menggunakan App Inspection/Database Inspector dengan ruang kosong di jalur
  • Dexer (D8)
    • Lambda Java menyebabkan perilaku yang tidak terduga saat membuat subclass dari subclass
  • Penyingkat (R8)
    • Error Cannot constrain type selama minifikasi r8
    • Masalah saat menjalankan R8 3.0.69 (dari AGP 7.0.2) dan 3.0.72

Untuk informasi selengkapnya, lihat postingan blog 2020.3.1 Patch 3.

Android Studio Arctic Fox | 2020.3.1 Patch 2 (September 2021)

Update minor ini mencakup perbaikan bug berikut:

  • Plugin Android Gradle
    • Sinkronisasi Gradle diluncurkan 10 KALI dengan upgrade dari AS Arctic Fox Canary 7 ke Canary 8
    • Desugaring dan build yang dapat direproduksi
  • C++ Build
    • Plugin Android Gradle 7.0.0 tidak mencakup jniLibs dalam APK jika penutupan tasks.whenTaskAdded digunakan
  • Editing
    • MergedManifestRefreshListener terjebak dalam loop tidak terbatas di Arctic Fox
  • Lint
    • "Pemeriksaan lint untuk pemeriksaan lint" tidak berjalan
  • Penyingkat (R8)
    • ClassNotFoundException saat menjalankan build dengan R8 di AGP7

Untuk informasi selengkapnya, lihat postingan blog 2020.3.1 Patch 2.

Android Studio Arctic Fox | 2020.3.1 Patch 1 (Agustus 2021)

Update ini mencakup perbaikan untuk masalah berikut:

  • Plugin Android Gradle
    • TypedefRemover menggunakan ASM5 dan tidak kompatibel dengan sumber JDK 11 yang memerlukan ASM7
    • Beberapa blok DSL baru tidak dapat digunakan dari Groovy DSL di AGP 7.0.0
    • AGP 7.0.0 stabil melemparkan ExternalApiUsageException di libraryVariants.all{applicationId}
  • C++ Debugger
    • AS Arctic Fox Error saat memulai sesi debug native pada Mac M1, "Found broken LLDB configuration"
  • Resource Manager
    • (Windows) New > Vector Asset > picture.svg: karakter 'minus' tidak valid dalam xml yang dihasilkan
  • Penyingkat (R8)
    • NPE di BridgeHoisting
    • Setelah mengupgrade ke 7.0.0, R8 tidak berfungsi dengan error "Unexpected usage left in method after inline"

Untuk informasi selengkapnya, lihat postingan blog 2020.3.1 Patch 1.

Penomoran versi baru

Penomoran versi yang diperbarui untuk Android Studio

Kami telah mengubah sistem penomoran versi untuk Android Studio agar lebih mirip dengan IntelliJ IDEA, IDE yang menjadi dasar Android Studio.

Dalam sistem penomoran sebelumnya, rilis ini diberi nomor Android Studio 4.3 atau versi 4.3.0.1. Dengan sistem penomoran yang baru, kini menjadi Android Studio - Arctic Fox | 2020.3.1, atau versi 2020.3.1.

Versi Intellij Nama Lama Lama - Sistem Angka Baru - Sistem Tahun Nama Versi Baru
2020.3 4.3 4.3.0 2020.3.1 Arctic Fox | 2020.3.1

Selanjutnya, berikut cara menentukan nomor versi Android Studio:

<Year of IntelliJ Version>.<IntelliJ major version>.<Studio major version>.<Studio minor/patch version>

  • Dua grup angka pertama menunjukkan versi platform IntellIj yang menjadi dasar rilis Android Studio tertentu. Untuk rilis ini, maka versinya adalah 2020.3.
  • Grup nomor ketiga menunjukkan versi utama Studio, dimulai dari 1 dan meningkat satu untuk setiap rilis utama.
  • Grup angka keempat menunjukkan versi minor/patch Studio, dimulai dari 1 dan meningkat satu untuk setiap rilis kecil.
  • Kami juga memberikan nama versi untuk setiap rilis utama, yang meningkat dari A ke Z, berdasarkan nama hewan. Rilis ini diberi nama Arctic Fox.

Penomoran versi yang diperbarui untuk plugin Android Gradle

Kami mengubah penomoran versi untuk plugin Android Gradle (AGP) agar lebih cocok dengan alat build Gradle yang mendasarinya. Oleh karena itu, AGP 7.0 adalah rilis berikutnya setelah AGP 4.2.

Untuk detail selengkapnya, lihat Perubahan pembuatan versi di catatan rilis AGP.

Plugin Android Gradle 7.0.0

Versi terbaru plugin Android Gradle menyertakan banyak update. Untuk mempelajari lebih lanjut, baca catatan rilis lengkap plugin Android Gradle.

Pengujian unit kini menggunakan runner pengujian Gradle

Untuk meningkatkan konsistensi keseluruhan eksekusi uji, Android Studio kini menggunakan Gradle untuk menjalankan semua pengujian unit secara default. Dalam banyak kasus, perubahan ini tidak akan memengaruhi alur kerja pengujian Anda di IDE.

Misalnya, saat Anda mengklik perintah Run di menu konteks (terlihat saat Anda mengklik kanan class pengujian) atau tindakan gutter yang sesuai , Android Studio akan menggunakan konfigurasi run Gradle secara default untuk menjalankan pengujian unit.

Menu konteks untuk menjalankan pengujian

Namun, Android Studio tidak lagi mengenali konfigurasi run Android JUnit yang sudah ada, jadi Anda harus memigrasikan konfigurasi run JUnit Android yang mungkin disimpan sebagai file project ke konfigurasi run Gradle.

Untuk membuat konfigurasi pengujian Gradle, pilih template Gradle saat mengikuti petunjuk di Membuat konfigurasi run/debug baru. Setelah Anda membuat konfigurasi baru, konfigurasi akan muncul di dialog Edit Configurations di bagian Gradle:

Mengedit konfigurasi pengujian di Android Studio

Jika ingin memeriksa konfigurasi Android JUnit yang tidak dikenali lagi, Anda dapat melakukan salah satu dari dua hal berikut:

  • Buka konfigurasi yang disimpan secara manual di editor teks. Lokasi file ini ditentukan oleh pengguna, tetapi biasanya file muncul di <my-app>/.idea/runConfigurations/.
  • Cari konfigurasi sementara di <my-app>/.idea/workspace.xml dan lihat di bawah node <component name="RunManager" ...>. Contoh:

    <component name="RunManager" selected="Gradle.PlantTest">
    …
    <configuration name="PlantTest" type="AndroidJUnit" factoryName="Android JUnit" nameIsGenerated="true">
          <module name="Sunflower.app" />
          <useClassPathOnly />
          <extension name="coverage">
            <pattern>
              <option name="PATTERN" value="com.google.samples.apps.sunflower.data.*" />
              <option name="ENABLED" value="true" />
            </pattern>
          </extension>
          <option name="PACKAGE_NAME" value="com.google.samples.apps.sunflower.data" />
          <option name="MAIN_CLASS_NAME" value="com.google.samples.apps.sunflower.data.PlantTest" />
          <option name="METHOD_NAME" value="" />
          <option name="TEST_OBJECT" value="class" />
          <option name="PARAMETERS" value="" />
          <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
          <method v="2">
            <option name="Android.Gradle.BeforeRunTask" enabled="true" />
          </method>
        </configuration>
    

Background Task Inspector Baru

Anda dapat memvisualisasikan, memantau, dan mendebug pekerja latar belakang aplikasi menggunakan Background Task Inspector baru. Untuk memulai, deploy aplikasi Anda ke perangkat yang menjalankan WorkManager library 2.5.0 atau yang lebih tinggi, lalu pilih View > Tool Windows > App Inspection dari panel menu.

Pekerja yang aktif di Background Task Inspector

Anda dapat melihat informasi lebih mendetail dengan mengklik pekerja. Misalnya, Anda dapat melihat deskripsi pekerja, caranya dieksekusi, detail rantai pekerjanya, dan hasil eksekusi.

Tab Detail Pekerja

Anda juga dapat melihat representasi visual rantai pekerja dengan memilih pekerja dari tabel dan mengklik Show Graph View dari toolbar. Kemudian, Anda dapat memilih pekerja mana pun dalam rantai untuk melihat detailnya, atau menghentikannya jika sedang dalam antrean atau berjalan. Untuk kembali ke tabel, klik Show List View .

Rantai pekerja Background Task Inspector

Untuk membantu menyelidiki masalah pekerja yang gagal dalam eksekusi, Anda dapat menghentikan pekerja yang sedang berjalan atau diantrekan dengan memilihnya dari tabel dan mengklik Cancel Selected Worker dari toolbar. Anda juga dapat memfilter pekerja di tabel berdasarkan tag yang telah ditetapkan kepada mereka menggunakan menu drop-down All tags.

Mengupdate Database Inspector

Database Inspector kini disertakan di jendela alat App Inspection baru, tempat Anda juga dapat menemukan Background Task Inspector baru. Buka jendela alat App Inspection dari kolom jendela alat, atau pilih View > Tool Windows > App Inspection dari panel menu.

Mengekspor data dari Database Inspector

Di Arctic Fox, Anda dapat dengan mudah mengekspor database, tabel, dan hasil kueri dari Database Inspector untuk disimpan, dibagikan, atau dibuat ulang secara lokal. Saat membuka project aplikasi di Android Studio dan memeriksa aplikasi untuk project tersebut dalam Database Inspector, Anda dapat mulai mengekspor data dengan salah satu cara berikut:

  • Pilih database atau tabel di panel Databases, lalu klik Export to file di dekat bagian atas panel.
  • Klik kanan database atau tabel di panel Databases, lalu pilih Export to file dari menu konteks.
  • Saat memeriksa tabel atau hasil kueri di tab, klik Export to file di atas tabel atau hasil kueri.

Setelah memilih tindakan ekspor, Anda menggunakan dialog Export untuk membantu Anda melalui langkah-langkah akhir, seperti yang ditunjukkan di bawah. Bergantung pada apakah Anda mencoba mengekspor database, tabel, atau hasil kueri, Anda memiliki opsi untuk mengekspor data dalam satu atau beberapa format berikut: DB, SQL, atau CSV.

Kotak dialog Export Database

UI yang diperbarui untuk perekaman di Memory Profiler

Kami telah menggabungkan antarmuka pengguna (UI) Memory Profiler untuk berbagai aktivitas perekaman, seperti merekam heap dump dan merekam alokasi memori native, Kotlin, dan Java.

Alokasi memori yang ditampilkan di Memory Profiler

Memory Profiler menyediakan opsi berikut:

  • Capture heap dump: Melihat objek dalam aplikasi Anda yang menggunakan memori pada waktu tertentu.
  • Record native allocations: Melihat bagaimana setiap objek C/C++ dialokasikan selama jangka waktu tertentu.
  • Record Java/Kotlin allocations: Melihat bagaimana setiap objek Java/Kotlin dialokasikan selama jangka waktu tertentu.

Berikut adalah cara menggunakan ketiga opsi ini:

  • Untuk merekam heap dump, pilih Capture heap dump, lalu pilih Record. Setelah profiler selesai merekam heap dump, UI Memory Profiler akan bertransisi ke layar terpisah yang menampilkan heap dump.

    Contoh heap dump di Memory Profiler

  • Untuk merekam alokasi native pada perangkat yang menjalankan Android 10 dan versi yang lebih baru, pilih Record native allocations, lalu pilih Record. Rekaman akan berlanjut sampai Anda mengklik Stop , setelah itu UI Memory Profiler akan bertransisi ke layar terpisah yang menampilkan rekaman native.

    Pada Android 9 dan versi yang lebih lama, opsi Record native allocations tidak tersedia.

  • Untuk merekam alokasi Java dan Kotlin, pilih Record Java / Kotlin allocations, lalu pilih Record. Jika perangkat menjalankan Android 8 atau yang lebih tinggi, UI Memory Profiler akan bertransisi ke layar terpisah yang menampilkan rekaman yang sedang berlangsung. Anda dapat berinteraksi dengan linimasa mini di atas rekaman (misalnya, untuk mengubah rentang pemilihan). Untuk menyelesaikan perekaman, pilih Stop .

    Visualisasi alokasi Java dalam Memory Profiler

    Pada Android 7.1 dan versi yang lebih lama, memory profiler menggunakan rekaman alokasi lama, yang menampilkan rekaman di linimasa sampai Anda mengklik Stop.

Pembaruan untuk Refresh Project C++ Tertaut

Kami telah memindahkan file yang tidak terkait dengan konfigurasi dari folder .cxx/ ke folder build/. Build CMake C++ memerlukan fase konfigurasi yang menghasilkan project Ninja yang digunakan untuk menjalankan langkah kompilasi dan link. Project yang dihasilkan oleh CMake sulit dan diharapkan dapat bertahan di seluruh gradle clean. Karena alasan ini, keduanya disimpan dalam folder bernama .cxx/, di samping folder build/. Biasanya, plugin Android Gradle akan melihat perubahan konfigurasi dan otomatis membuat ulang project Ninja. Namun, tidak semua kasus dapat dideteksi. Jika ini terjadi, opsi "Refresh Linked C++ Project" dapat digunakan untuk membuat ulang project Ninja secara manual.

Matriks pengujian baru untuk pengujian multiperangkat

Uji instrumentasi kini dapat dijalankan di beberapa perangkat secara paralel dan dapat diselidiki menggunakan panel hasil uji instrumentasi khusus. Dengan menggunakan panel ini, Anda dapat menentukan apakah pengujian gagal karena API level atau properti hardware.

Panel uji instrumentasi

Menguji aplikasi Anda di berbagai API level dan faktor bentuk adalah salah satu cara terbaik untuk memastikan bahwa semua pengguna memiliki pengalaman yang baik saat menggunakan aplikasi Anda.

Untuk memanfaatkan fitur ini:

  1. Pilih Select Multiple Devices di menu dropdown perangkat target (dari bagian tengah atas IDE).

    Dialog ubah setelan perangkat

  2. Pilih perangkat target dan klik OK.

    Dialog ubah setelan perangkat

  3. Jalankan pengujian Anda.

Untuk melihat hasil pengujian di panel Run, buka View > Tool Windows > Run.

Panel hasil pengujian baru memungkinkan Anda memfilter hasil pengujian menurut status, perangkat, dan API level. Selain itu, Anda dapat mengurutkan setiap kolom dengan mengklik header-nya. Dengan mengklik pengujian individual, Anda dapat melihat log dan informasi perangkat secara terpisah untuk setiap perangkat.

Dukungan StateFlow dalam data binding

Untuk aplikasi Kotlin yang menggunakan coroutine, kini Anda dapat menggunakan objek StateFlow sebagai sumber data binding untuk otomatis memberi tahu UI tentang perubahan data. Data binding akan berbasis siklus proses dan hanya akan dipicu saat UI terlihat di layar.

Untuk menggunakan objek StateFlow dengan class binding, Anda harus menentukan pemilik siklus proses untuk menentukan cakupan objek StateFlow dan dalam tata letak, tetapkan properti dan metode komponen ViewModel ke ke tampilan yang sesuai menggunakan ekspresi binding, seperti yang ditunjukkan pada contoh berikut:

class ViewModel() {
   val username: StateFlow<String>
}
<TextView
    android:id="@+id/name"
    android:text="@{viewmodel.username}" />

Jika Anda menggunakan aplikasi Kotlin yang menggunakan AndroidX, dukungan StateFlow otomatis disertakan dalam fungsi data binding, termasuk dependensi coroutine.

Untuk mempelajari lebih lanjut, lihat Bekerja dengan objek data yang dapat diamati.

Peningkatan impor yang disarankan

Kami telah mengoptimalkan jumlah library yang didukung oleh fitur impor yang disarankan dan memperbarui indeks lebih sering. Impor yang disarankan membantu Anda mengimpor artefak Maven Google tertentu dengan cepat dan mudah ke dalam class dan project Gradle. Saat Android Studio mendeteksi simbol yang belum terselesaikan dari library Google tertentu, IDE menyarankan untuk mengimpor library ke dalam class dan project.

Dukungan untuk cache konfigurasi di Build Analyzer

Kini Build Analyzer mengidentifikasi saat project tidak mengaktifkan cache konfigurasi, dan menawarkannya sebagai pengoptimalan. Build Analyzer menjalankan penilaian kompatibilitas untuk memberi tahu Anda jika ada masalah dengan cache konfigurasi di project Anda sebelum diaktifkan.

Informasi cache konfigurasi di Build Analyzer

Peningkatan Upgrade Assistant untuk AGP

Upgrade Assistant untuk plugin Android Gradle kini memiliki jendela alat persisten dengan daftar langkah-langkah yang akan diselesaikan. Informasi tambahan juga ditampilkan di sisi kanan jendela alat. Jika diperlukan, Anda juga dapat memilih versi AGP yang lain untuk diupgrade. Mengklik tombol Refresh akan memperbarui langkah update yang sesuai.

Jendela alat persisten baru di Upgrade Assistant

Pemfaktoran ulang untuk class R non-transitif

Anda dapat menggunakan class R non-transitif dengan plugin Android Gradle guna membuat build yang lebih cepat untuk aplikasi dengan beberapa modul. Cara ini membantu mencegah duplikasi resource dengan memastikan bahwa class R setiap modul hanya berisi referensi ke resource-nya sendiri, tanpa mengambil referensi dari dependensinya. Dengan demikian, build menjadi lebih baru dan Anda dapat menghindari kompilasi terkait.

Anda dapat mengakses fitur ini dengan membuka Refactor > Migrate to Non-transitive R Classes.

Dukungan untuk alat Jetpack Compose

Kini kami menawarkan dukungan tambahan untuk melihat pratinjau dan menguji aplikasi yang menggunakan Jetpack Compose. Untuk pengalaman terbaik dalam mengembangkan aplikasi dengan Jetpack Compose, Anda harus menggunakan versi terbaru Android Studio Arctic Fox sehingga Anda dapat memperoleh manfaat dari fitur editor cerdas, seperti template New Project dan kemampuan untuk langsung melihat pratinjau UI Compose Anda.

Pratinjau Compose

Parameter berikut untuk metode @Preview kini tersedia:

  • showBackground: Mengaktifkan dan menonaktifkan latar belakang untuk pratinjau Anda.
  • backgroundColor: Menetapkan warna yang hanya digunakan di permukaan pratinjau.
  • uiMode: Parameter baru ini dapat menggunakan salah satu konstanta Configuration.UI_* dan memungkinkan Anda mengubah perilaku pratinjau, misalnya, menyetelnya ke Mode Malam untuk melihat reaksi tema.

UI pratinjau Compose

Pratinjau interaktif

Anda dapat menggunakan fitur ini untuk berinteraksi dengan komponen UI, mengkliknya, dan melihat perubahan status. Ini adalah cara cepat untuk mendapatkan masukan tentang reaksi UI Anda dan melihat pratinjau animasi. Untuk mengaktifkannya, klik ikon Interactive , dan mode pratinjau akan beralih.

Untuk berhenti, klik Stop Interactive Preview di toolbar bagian atas.

UI pratinjau interaktif

Men-deploy ke perangkat

Anda dapat menggunakan fitur ini untuk men-deploy cuplikan UI ke perangkat. Langkah ini membantu menguji bagian kecil kode Anda di perangkat tanpa harus memulai seluruh aplikasi.

Klik ikon Deploy to Device di samping anotasi @Preview atau di bagian atas pratinjau, dan Android Studio akan men-deploy @Preview tersebut ke perangkat atau emulator yang terhubung.

Live Edit of literals

Kami telah menambahkan Live Edit of literals untuk membantu developer yang menggunakan Compose untuk mengedit literal (string, angka, boolean) dalam kode mereka dengan cepat dan langsung melihat hasilnya tanpa perlu menunggu kompilasi. Tujuan fitur ini adalah membantu meningkatkan produktivitas Anda dengan membuat perubahan kode muncul hampir secara instan di pratinjau, emulator, atau perangkat fisik.

Pengeditan nomor dan string akan diupdate langsung di pratinjau dan di perangkat

Dukungan Compose di Layout Inspector

Layout Inspector memungkinkan Anda melihat detail lengkap tata letak aplikasi yang berjalan di perangkat terhubung. Anda dapat berinteraksi dengan aplikasi dan melihat update langsung di alat tersebut untuk men-debug dengan cepat masalah yang mungkin muncul.

Anda dapat memeriksa tata letak yang ditulis dengan framework UI deklaratif Android baru, Jetpack Compose. Baik aplikasi Anda menggunakan tata letak yang sepenuhnya ditulis di Compose, maupun tata letak yang menggunakan campuran Compose dan Views, Layout Inspector membantu Anda memahami cara tata letak dirender di perangkat yang berjalan.

Memulai

Untuk memulai, deploy aplikasi ke perangkat terhubung, lalu buka jendela Layout Inspector dengan memilih View > Tool Windows > Layout Inspector. Jika Layout Inspector tidak otomatis terhubung ke proses aplikasi Anda, pilih proses aplikasi yang diinginkan dari pulldown proses. Anda akan segera melihat tata letak aplikasi dirender di jendela alat. Untuk mulai memeriksa tata letak Compose, pilih komponen tata letak yang terlihat di rendering atau pilih dari Component Tree.

UI Layout Inspector

Jendela Attributes menampilkan informasi mendetail tentang fungsi Compose yang saat ini dipilih. Di jendela ini, Anda dapat memeriksa parameter fungsi beserta nilainya, termasuk pengubah dan ekspresi lambda. Untuk ekspresi lambda, pemeriksa akan menyediakan pintasan untuk membantu Anda membuka ekspresi dalam kode sumber.

Layout Inspector menampilkan semua fungsi Compose dalam stack panggilan yang membuat komponen menjadi tata letak aplikasi Anda. Dalam banyak kasus, fungsi ini mencakup fungsi Compose yang dipanggil secara internal oleh Library Compose. Jika Anda hanya ingin melihat fungsi Compose di Component Tree yang dipanggil langsung oleh aplikasi Anda, klik tindakan filter , yang dapat mengurangi jumlah node yang ditampilkan di hierarki ke lokasi yang mungkin ingin Anda periksa.

Peningkatan dropdown deploy

Dropdown perangkat kini membedakan berbagai jenis error dalam konfigurasi perangkat yang Anda pilih. Perubahan ikonografi dan gaya kini membedakan antara error (pilihan perangkat yang menyebabkan konfigurasi rusak) dan peringatan (pilihan perangkat yang dapat mengakibatkan perilaku tidak terduga, tetapi masih dapat dijalankan).

Selain itu, Android Studio kini akan memberi peringatan jika Anda mencoba meluncurkan project ke perangkat yang memiliki error atau peringatan yang berkaitan dengannya.

Asisten penyambungan Wear OS baru

Asisten penyambungan Wear OS baru memandu developer langkah demi langkah dalam penyambungan emulator Wear OS dengan ponsel fisik atau virtual langsung di Android Studio. Asisten dapat membantu Anda mendapatkan aplikasi Pendamping Wear OS yang tepat untuk diinstal di ponsel dan menyiapkan koneksi di antara kedua perangkat. Anda dapat memulai dengan membuka dropdown perangkat > Wear OS Emulator Pairing Assistant.

Demo asisten penyambungan Wear OS

Template tata letak responsif

Kini Android Studio Arctic Fox menyertakan template tata letak baru yang beradaptasi dengan berbagai dimensi tampilan dan pengubahan ukuran aplikasi, seperti ponsel, perangkat foldable, tablet, dan mode layar terpisah. Saat membuat project atau modul baru, pilih template Responsive Activity untuk membuat tata letak dengan komponen yang mengubah ukuran secara dinamis.

Template tata letak responsif di layar kecil Template tata letak responsif di layar sedang Template tata letak responsif di layar besar

Untuk memulai, buka File > New, pilih New Project atau New Module, lalu pilih template Responsive Activity.

Template tata letak responsif dalam wizard project baru

Masalah umum untuk Arctic Fox

Bagian ini menjelaskan masalah umum saat ini di Android Studio Arctic Fox.

Patch tidak berfungsi pada Windows untuk v3.6-v4.1

Patch pada platform Windows untuk v3.6-v4.1 pada Android Studio Arctic Fox stabil mungkin tidak berfungsi.

4.2 (April 2021)

Android Studio 4.2 merupakan rilis utama yang menyertakan berbagai peningkatan dan fitur baru.

4.2.2 (Juni 2021)

Update minor ini menyertakan berbagai perbaikan bug. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

4.2.1 (Mei 2021)

Update minor ini memaketkan plugin Kotlin 1.5.0 dan menyertakan berbagai perbaikan bug. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

Plugin Android Gradle 4.2.0

Versi terbaru plugin Android Gradle menyertakan banyak update. Untuk mempelajari lebih lanjut, baca catatan rilis lengkap plugin Android Gradle.

Kompatibilitas Gradle dan perubahan konfigurasi

Saat dijalankan di Android Studio, alat build Gradle menggunakan JDK yang dipaketkan bersama Studio. Pada rilis sebelumnya, JDK 8 dipaketkan dengan Studio. Namun, dalam 4.2, JDK 11 kini dipaketkan sebagai gantinya. Saat menggunakan JDK baru yang dipaketkan untuk menjalankan Gradle, ini dapat mengakibatkan beberapa inkompatibilitas atau memengaruhi performa JVM karena perubahan pada pembersih sampah. Masalah ini dijelaskan dalam catatan rilis AGP.

Opsi untuk mengoptimalkan waktu sinkronisasi Gradle

Untuk meningkatkan performa Sinkronisasi Gradle, Android Studio melewati pembuatan daftar tugas selama sinkronisasi. Ini memungkinkan Sinkronisasi Gradle diselesaikan dengan lebih cepat dan meningkatkan responsivitas UI untuk project yang sangat besar. Opsi ini aktif secara default di Android Studio 4.2. Untuk menonaktifkannya, buka File > Settings > Experimental (Preferences > Experimental di Mac), lalu hapus centang Do not build Gradle task list during Gradle sync.

Database Inspector

Pengoptimalan editor kueri

Database Inspector menyertakan beberapa peningkatan untuk membantu Anda menulis dan menjalankan pernyataan SQL kustom. Saat menjalankan inspector dan membuka tab New query, Anda akan melihat platform editor yang lebih besar dan dapat diubah ukurannya untuk menyusun dan memformat kueri, seperti yang ditampilkan di bawah ini.

Editor DB Inspector

Selain itu, kami sekarang menyediakan histori kueri Anda sebelumnya. Saat mengklik tombol Show query history Tampilkan tombol histori kueri, Anda akan melihat daftar kueri yang sebelumnya dijalankan terhadap database yang saat ini dipilih. Klik kueri dalam daftar untuk melihat pratinjau kueri lengkap di editor, lalu tekan Enter untuk menyalinnya ke editor. Selanjutnya, klik Run untuk menjalankan pernyataan.

Jalankan perintah di editor kueri

Mode offline

Pada Android Studio versi sebelumnya, memutuskan sambungan dari proses aplikasi saat menggunakan Database Inspector menyebabkan ditutupnya inspector dan datanya. Di Android Studio 4.2, kami telah menambahkan kemampuan untuk terus memeriksa database aplikasi Anda setelah koneksi terputus, sehingga mempermudah debug aplikasi Anda setelah error.

Saat terjadi pemutusan koneksi, Database Inspector mendownload database, lalu menyediakannya untuk Anda dalam mode offline. Saat offline, Anda dapat membuka tabel dan menjalankan kueri.

Perlu diingat, saat Anda menyambungkan kembali ke proses aplikasi langsung, Database Inspector akan kembali ke mode aktif dan hanya menampilkan data yang ada di perangkat. Artinya, data yang ditampilkan dalam mode offline tidak akan bertahan saat Anda terhubung kembali ke proses aplikasi. Oleh karena itu, Database Inspector tidak mengizinkan pengeditan atau menjalankan pernyataan modifikasi saat dalam mode offline.

Upgrade Assistant untuk AGP

Plugin Upgrade Assistant baru untuk Android Gradle dapat membantu Anda mengupdate versi AGP untuk project.

Dialog Upgrade Assistant plugin Android Gradle

Dibuat berdasarkan fungsi upgrade AGP yang sudah ada, alat ini memandu Anda mempelajari update/pemfaktoran ulang seluruh project dan menyertakan pratinjau update untuk membantu mencegah kemungkinan perubahan yang dapat menyebabkan gangguan sebelum menjalankan upgrade AGP.

Pratinjau perubahan yang akan dijalankan oleh Upgrade Assistant

System Trace: Peningkatan metrik untuk memori dan grafik

Di CPU profiler, fitur Pelacakan Sistem kini menyertakan metrik baru untuk menganalisis performa aplikasi dan menyertakan hal berikut:

  • Tabel Events. Mencantumkan semua peristiwa terlacak di thread yang saat ini dipilih.

  • BufferQueue. Di bagian Display, jalur baru ini menampilkan jumlah buffer pada permukaan aplikasi BufferQueue (0, 1, atau 2) untuk membantu Anda memahami status buffer gambar saat buffer bergerak di antara komponen grafis Android.

    Antrean Buffer Pelacakan Sistem

  • Frekuensi CPU. Di bagian core CPU, jalur baru ini menampilkan frekuensi CPU berdasarkan inti, yang menunjukkan seberapa keras setiap inti bekerja.

    Frekuensi CPU Pelacakan Sistem

  • Memori Proses (RSS). Jendela baru ini menunjukkan jumlah memori fisik yang saat ini digunakan oleh aplikasi.

    Memori Proses (RSS) Pelacakan Sistem

Untuk detail selengkapnya, lihat Memeriksa aktivitas CPU dengan CPU Profiler.

Tindakan refresh Layout Inspector baru

Diperkenalkan di Android Studio 4.0, Layout Inspector dirancang untuk pemeriksaan real-time stack UI aplikasi yang berjalan. Namun, Anda mungkin tidak selalu ingin Layout Inspector segera mencerminkan apa yang terjadi di aplikasi, karena ingin memeriksa cuplikan tata letak aplikasi pada waktu tertentu atau meminimalkan dampak performa dari update langsung aplikasi.

Jeda update langsung dan refresh screenshot di Layout Inspector.

Untuk memuat cuplikan data UI secara manual dari aplikasi, pertama-tama nonaktifkan opsi Update langsung. Selanjutnya, Anda dapat mengklik tombol Refresh untuk mengambil cuplikan baru stack UI untuk diperiksa. Layout Inspector sekarang akan mengingat preferensi Anda untuk tetap mengaktifkan Update langsung atau menonaktifkan di antara sesi.

Dukungan untuk Safe Args

Safe Args adalah plugin Gradle yang menghasilkan class objek dan builder sederhana untuk navigasi jenis aman dan akses ke argumen terkait. Android Studio kini menyertakan dukungan yang lebih kaya saat bekerja dengan Safe Arg, seperti yang dijelaskan di bawah:

  • Pelengkapan otomatis untuk Direction, Arg, dan berbagai class builder
  • Dukungan untuk plugin safe args Java dan Kotlin
  • Navigasi dari sumber ke XML

Retrace R8 kini tersedia di alat command line

Tersedia dalam versi 4.0 alat command line, retrace R8 adalah alat mandiri untuk mendapatkan pelacakan tumpukan asli dari pelacakan tumpukan yang di-obfuscate.

Anda dapat mendownload paket ini dengan SDK Manager, yang menginstal retrace R8 di android_sdk/cmdline-tools. Atau, Anda dapat mendownload paket alat command line mandiri.

Untuk informasi penggunaan, lihat retrace R8 di panduan pengguna.

Menerapkan ke beberapa perangkat

Untuk membantu menyederhanakan pengujian aplikasi di seluruh perangkat dan API level, Anda kini dapat men-deploy aplikasi ke beberapa perangkat atau emulator secara bersamaan dengan mengikuti langkah-langkah berikut:

  1. Pilih Select Multiple Devices di menu dropdown perangkat target (di bagian tengah atas IDE).

    Drop-down perangkat target

  2. Pilih perangkat target dan klik OK.

    Dialog ubah setelan perangkat

  3. Jalankan aplikasi Anda.

Setelan removable baru untuk modul fitur

Plugin Android Gradle 4.2 menggunakan bundletool 1.0.0, yang memperkenalkan perubahan perilaku untuk aplikasi menggunakan modul fitur: Setiap modul fitur yang ditentukan sebagai dist:install-time yang tidak secara eksplisit ditandai sebagai dist:removable akan menjadi tidak dapat dihapus secara default. Setelan baru ini mengoptimalkan penggabungan modul waktu instal dengan modul dasar, sehingga berpotensi meningkatkan performa aplikasi untuk beberapa aplikasi.

Agar modul fitur tetap dapat dihapus, tetapkan dist:removable="true" pada modul apa pun yang ingin Anda uninstal.

Untuk informasi lebih lanjut tentang setelan baru ini, lihat dokumen untuk tag dist:removable dalam dokumen untuk manifes modul fitur.

Apply Changes

Untuk membantu Anda menjadi lebih produktif saat melakukan iterasi di aplikasi, kami telah melakukan penyempurnaan berikut ke Apply Changes untuk perangkat yang menjalankan Android 11 atau lebih tinggi:

Dukungan untuk perubahan kode tambahan

Untuk perangkat yang menjalankan Android 11 atau lebih tinggi, Anda kini dapat menambahkan kolom primer final statis, lalu men-deploy perubahan tersebut ke aplikasi yang berjalan dengan mengklik Apply Code Changes atau Apply Changes and Restart Activity .

Sekarang Anda juga dapat menambahkan resource, lalu men-deploy perubahan tersebut ke aplikasi yang berjalan di perangkat Android 11 dengan mengklik Apply Changes and Restart Activity .

Wizard New Project dan New Module diperbarui

Wizard New Project dan New Module telah diperbarui untuk mempermudah penjelajahan, memilih template, dan memasukkan informasi tentang project atau modul baru.

Opsi untuk Import .JAR/.AAR Package dari wizard New Module juga telah dihapus. Untuk mengimpor JAR atau AAR ke dalam project Anda, gunakan Dialog Project Structure.

Kotlin 1.4.31

Android Studio 4.2 menyertakan Kotlin 1.4.31. Lihat log perubahan Kotlin 1.4.0 untuk meninjau perubahan utama.

Variabel lingkungan ANDROID_SDK_HOME tidak digunakan lagi

Variabel lingkungan ANDROID_SDK_HOME tidak digunakan lagi dan telah diganti dengan ANDROID_PREFS_ROOT. Untuk informasi selengkapnya, lihat Variabel Lingkungan Emulator.

Masalah Umum terkait Android Studio 4.2

Bagian ini menjelaskan masalah umum yang ada di Android Studio 4.2. Untuk mengetahui daftar lengkapnya, buka halaman Masalah umum.

Android Studio 4.2.0 membuat project dengan versi Kotlin yang salah: "1.5.0-release-764"

Jika Anda menggunakan Android Studio 4.2.0 dan telah mengupgrade ke plugin Kotlin 1.5.0, maka project Kotlin baru yang dibuat oleh Studio akan gagal di-build karena error sinkronisasi Gradle berikut: Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-release-764.

Sebagai solusi, ganti "1.5.0-release-764" dengan "1.5.0" dalam file build.gradle project.

Terjadi error saat menggunakan sandi yang berbeda untuk kunci dan keystore

Mulai versi 4.2, Android Studio kini dapat berjalan di JDK 11. Update ini menyebabkan perubahan perilaku yang mendasarinya terkait dengan kunci penandatanganan.

Saat Anda membuka Build > Generate Signed Bundle / APK dan mencoba mengonfigurasi penandatanganan aplikasi untuk app bundle atau APK, dengan memasukkan sandi yang berbeda untuk kunci dan keystore dapat menyebabkan error berikut:

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

Guna mengatasi masalah ini, masukkan sandi yang sama untuk kunci dan keystore.

Android Studio tidak dimulai setelah menginstal versi 4.2

Studio mencoba mengimpor versi .vmoptions sebelumnya dan membersihkannya agar berfungsi dengan pembersih sampah yang digunakan oleh JDK 11. Jika proses tersebut gagal, IDE mungkin tidak dimulai untuk pengguna tertentu yang menetapkan opsi VM kustom di file .vmoptions.

Untuk mengatasi masalah ini, sebaiknya Anda menjadikan opsi kustom sebagai komentar di .vmoptions (menggunakan karakter “#”). File .vmoptions dapat ditemukan di lokasi berikut:

Windows

C:\Users\YourUserName\AppData\[Local|Roaming]\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

Jika Studio masih tidak dimulai setelah mencoba solusi ini, lihat Studio tidak dimulai setelah upgrade di bawah.

4.1 (Agustus 2020)

Android Studio 4.1 merupakan rilis utama yang menyertakan berbagai peningkatan dan fitur baru.

4.1.3 (Maret 2021)

Update minor ini menyertakan berbagai perbaikan bug. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

4.1.2 (Januari 2021)

Update minor ini menyertakan berbagai perbaikan bug. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

4.1.1 (November 2020)

Update minor ini menyertakan berbagai perbaikan bug. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

Plugin Android Gradle 4.1.0

Versi terbaru plugin Android Gradle menyertakan banyak update. Untuk mempelajari lebih lanjut, baca catatan rilis lengkap plugin Android Gradle.

Database Inspector Baru

Periksa, ajukan kueri, dan ubah database di aplikasi yang berjalan menggunakan Database Inspector baru. Untuk memulai, deploy aplikasi ke perangkat yang menjalankan API Level 26 atau yang lebih tinggi, lalu pilih View > Tool Windows > Database Inspector dari panel menu.

Untuk mempelajari lebih lanjut, lihat Men-debug database dengan Database Inspector.

Menjalankan Android Emulator langsung di Android Studio

Anda kini dapat menjalankan Android Emulator langsung di Android Studio. Gunakan fitur ini untuk mempertahankan real estate layar, menavigasi dengan cepat antara emulator dan jendela editor menggunakan hotkeys, dan mengatur alur kerja emulator dan IDE dalam satu jendela aplikasi.

Emulator diluncurkan di jendela alat di Android Studio.

Untuk mempelajari lebih lanjut, lihat dokumentasi Android Emulator.

Menggunakan model TensorFlow Lite

ML Model Binding memudahkan Anda untuk langsung mengimpor file model .tflite dan menggunakannya dalam project Anda. Android Studio menghasilkan class yang mudah digunakan sehingga Anda dapat menjalankan model dengan lebih sedikit kode dan keamanan jenis yang lebih baik.

Model yang didukung

Penerapan ML Model Binding saat ini mendukung klasifikasi gambar dan model transfer gaya, asalkan disempurnakan dengan metadata. Seiring waktu, dukungan akan diperluas ke domain masalah lainnya, seperti deteksi objek, segmentasi gambar, dan klasifikasi teks.

Berbagai model terlatih dengan metadata disediakan di TensorFlow Hub. Anda juga dapat menambahkan sendiri metadata ke model TensorFlow Lite, seperti yang dijelaskan dalam Menambahkan metadata ke model TensorFlow Lite.

Mengimpor file model

Untuk mengimpor file model yang didukung, ikuti langkah-langkah berikut:

  1. Buka dialog impor model TensorFlow Lite pada menu File di File > New > Other > TensorFlow Lite Model.
  2. Pilih file model .tflite yang sebelumnya Anda download atau buat.
  3. Klik Selesai.

Tindakan ini akan mengimpor file model ke project Anda dan menempatkannya di folder ml/. Jika direktori tersebut tidak ada, Android Studio akan membuatkannya untuk Anda.

Mengimpor model TensorFlow Lite

Melihat metadata dan penggunaan model

Untuk melihat detail model yang diimpor dan mendapatkan petunjuk cara menggunakannya di aplikasi Anda, klik dua kali file model di project Anda untuk membuka halaman penampil model, yang menampilkan hal berikut:

  • Model: Deskripsi tingkat tinggi model
  • Tensor: Deskripsi tensor input dan output
  • Kode contoh: Contoh antarmuka petunjuk dengan model di aplikasi Anda

Berikut adalah contoh penggunaan mobilenet_v1_0.25_160_quantized.tflite:

Screenshot penampil model TensorFlow Lite

Seperti yang ditunjukkan dalam contoh, Android Studio membuat class bernama MobilenetV1025160Quantized untuk berinteraksi dengan model.

Jika model tidak memiliki metadata, layar ini hanya akan memberikan sedikit informasi.

Masalah umum dan solusinya

  • Dukungan untuk model TensorFlow Lite untuk domain masalah selain klasifikasi gambar dan transfer gaya terbatas untuk saat ini. Meskipun impor seharusnya bekerja dengan baik, beberapa input dan/atau output model direpresentasikan oleh TensorBuffers, bukan jenis yang dikenal. Untuk model tanpa metadata, semua input dan output model akan menjadi TensorBuffers.
  • Model dengan jenis data Input dan Output yang berbeda dari DataType.UINT8 atau DataType.FLOAT32 tidak didukung.

Fitur ini masih dalam pengembangan, jadi berikan masukan atau laporkan bug.

Native Memory Profiler

Memory Profiler Android Studio kini menyertakan Native Memory Profiler untuk aplikasi yang di-deploy ke perangkat fisik yang menjalankan Android 10 atau yang lebih baru. Dengan Native Memory Profiler, Anda dapat merekam alokasi dan dealokasi memori dari kode native serta memeriksa statistik kumulatif tentang objek native.

Untuk mempelajari Native Memory Profiler lebih lanjut, lihat Memeriksa penggunaan memori aplikasi dengan Memori Profiler.

Masalah umum dan solusinya

  • Native Memory Profiler di Android Studio 4.1 tidak berfungsi untuk perangkat Android 11. Dukungan untuk pembuatan profil perangkat Android 11 saat ini tersedia di rilis pratinjau 4.2

  • Mulai rilis 4.1 awal, pembuatan profil startup aplikasi telah dinonaktifkan. Opsi ini akan diaktifkan dalam rilis mendatang.

    Sebagai solusinya, Anda dapat menggunakan profiler command-line mandiri Perfetto untuk mengambil profil startup.

UI System Trace: Pemilihan yang lebih mudah, tab analisis baru, dan lebih banyak data rendering frame

UI System Trace di profiler Android Studio menyertakan peningkatan berikut:

  • Pemilihan kotak: Di bagian Threads, Anda kini dapat menarik kursor mouse untuk melakukan pemilihan kotak pada area persegi panjang, yang dapat diperbesar dengan mengklik tombol Zoom to Selection di kanan atas (atau gunakan pintasan keyboard M). Saat Anda menarik lalu melepas thread yang serupa di samping satu sama lain, Anda dapat memilih beberapa thread untuk memeriksa semuanya sekaligus. Misalnya, Anda mungkin ingin melakukan analisis pada beberapa thread pekerja.

  • Tab Summary: Tab Summary baru di panel Analysis menampilkan:

    • Statistik gabungan untuk semua kemunculan peristiwa tertentu, seperti jumlah kemunculan dan durasi minimum/maksimum.
    • Statistik jejak peristiwa untuk kemunculan yang dipilih.
    • Data tentang distribusi status thread.
    • Kemunculan terlama dari jejak peristiwa yang dipilih.

    Untuk membuka kemunculan lainnya, pilih baris lain dari tabel.

  • Data tampilan: Di bagian Display, linimasa baru untuk SurfaceFlinger dan VSYNC membantu Anda menyelidiki masalah rendering di UI aplikasi.

Untuk mengetahui petunjuk penggunaan dasar tentang cara merekam pelacakan sistem, lihat bagian Merekam aktivitas dalam Memeriksa aktivitas CPU dengan CPU Profiler.

Profiler mandiri kini tersedia

Dengan profiler mandiri yang baru, kini Anda dapat membuat profil aplikasi tanpa menjalankan Android Studio IDE secara penuh.

Untuk mengetahui petunjuk tentang cara menggunakan profiler mandiri, lihat Menjalankan profiler mandiri.

Dukungan navigasi Dagger

Tindakan gutter IDE untuk menavigasi ke pelanggan dan penyedia Dagger

Android Studio mempermudah navigasi antara kode terkait Dagger dengan memberikan tindakan gutter baru dan memperluas dukungan di jendela Find Usages.

  • New gutter actions: Untuk project yang menggunakan Dagger, IDE menyediakan tindakan gutter yang membantu Anda bernavigasi di antara kode yang diberi anotasi Dagger. Misalnya, mengklik tindakan gutter di samping metode yang menggunakan jenis tertentu akan mengarahkan Anda ke penyedia jenis tersebut. Sebaliknya, mengklik tindakan gutter akan mengarahkan Anda ke tempat jenis itu digunakan sebagai dependensi.

  • Find Usages node: Saat Anda memanggil Find Usages pada penyedia jenis tertentu, jendela Find kini menyertakan node Dependency consumer(s) yang mencantumkan konsumen jenis tersebut. Sebaliknya, dengan memanggil tindakan ini pada konsumen dependensi yang dimasukkan Dagger, jendela Find akan menunjukkan penyedia dependensi tersebut.

Komponen Desain Material: Tema dan gaya yang diperbarui di template project baru

Animasi: Membuat project di Android Studio dengan properti desain material baru.

Template Android Studio dalam dialog Create New Project kini menggunakan Komponen Desain Material (MDC) dan mematuhi panduan yang diperbarui untuk tema dan gaya secara default. Update meliputi:

  • MDC: Project bergantung pada com.google.android.material:material di build.gradle. Tema aplikasi dasar menggunakan induk Theme.MaterialComponents.* dan mengganti warna MDC yang diperbarui serta atribut “on”.
  • Resource warna: Resource warna di colors.xml menggunakan nama literal (misalnya purple_500, bukan colorPrimary).
  • Resource tema: Resource tema berada di themes.xml (bukan styles.xml) dan menggunakan nama Theme.<ApplicationName>.
  • Tema gelap: Tema aplikasi dasar menggunakan induk DayNight dan terbagi antara res/values dan res/values-night.
  • Atribut tema: Resource warna direferensikan sebagai atribut tema (misalnya, ?attr/colorPrimary) dalam tata letak dan gaya untuk menghindari warna hard code.

IntelliJ IDEA 2020.1

Android Studio IDE inti telah diupdate dengan peningkatan dari IntelliJ IDEA hingga rilis 2020.1, termasuk jendela Commit baru yang memungkinkan operasi kontrol versi dan mode Zen baru yang dapat dialihkan dengan memilih View > Appearance > Enter Distraction Free Mode.

Untuk mempelajari peningkatan dalam versi 2020.1 lebih lanjut, lihat halaman berikut:

Perubahan direktori konfigurasi IDE

Lokasi direktori konfigurasi pengguna telah diubah menjadi berikut:

Windows

Sintaksis: %APPDATA%\Google\<product><version>

Contoh: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

macOS

Sintaksis: ~/Library/Application Support/Google/<product><version>

Contoh: ~/Library/Application Support/Google/AndroidStudio4.1

Linux

Sintaksis: ~/.config/Google/<product><version>

Contoh: ~/.config/Google/AndroidStudio4.1

Lokasi direktori baru ini konsisten dengan update terbaru untuk IntelliJ IDEA, yang merupakan IDE dasar dari Android Studio.

Kotlin 1.3.72

Android Studio 4.1 menggabungkan Kotlin 1.3.72, yang mencakup sejumlah perbaikan untuk mengoptimalkan penandaan, pemeriksaan, dan penyelesaian kode Kotlin. Lihat log perubahan Kotlin 1.3.72 untuk mengetahui detailnya.

Pratinjau tampilan kustom

Saat membuat tampilan kustom (misalnya, dengan memperluas class View atau Button) Android Studio kini menampilkan pratinjau tampilan kustom. Gunakan menu drop-down di toolbar untuk beralih di antara beberapa tampilan kustom, atau klik tombol untuk menggabungkan secara vertikal atau horizontal ke konten.

Lihat pratinjau tampilan kustom di IDE.

Simbolisasi untuk laporan masalah pada native code

Saat terjadi error atau ANR dalam kode native, sistem akan menghasilkan pelacakan tumpukan, yang merupakan ringkasan dari urutan fungsi bertingkat yang dipanggil dalam program Anda hingga error terjadi. Snapshot ini dapat membantu Anda mengidentifikasi dan memperbaiki masalah apa pun di sumber, namun snapshot harus disimbolkan terlebih dahulu untuk menerjemahkan kembali alamat mesin menjadi nama fungsi yang dapat dibaca manusia.

Jika aplikasi atau game dikembangkan menggunakan kode native, seperti C++, kini Anda dapat mengupload file simbol debug ke Konsol Play untuk setiap versi aplikasi. Konsol Play menggunakan file simbol debug ini untuk menyimbolkan pelacakan tumpukan aplikasi, sehingga memudahkan analisis error dan ANR. Untuk mempelajari cara mengupload file simbol debug, lihat Dukungan untuk masalah pada native code.

Apply Changes

Untuk membantu Anda menjadi lebih produktif saat melakukan iterasi pada aplikasi, kami telah melakukan penyempurnaan berikut pada Apply Changes untuk perangkat yang menjalankan Android 11 Pratinjau Developer 3 atau yang lebih tinggi:

Kecepatan deploy lebih cepat

Kami telah banyak berinvestasi dalam mengoptimalkan kecepatan iterasi dengan mengembangkan metode untuk men-deploy dan mempertahankan perubahan pada perangkat tanpa menginstal aplikasi. Setelah deploy awal, deploy berikutnya ke perangkat Android 11 menggunakan Apply Code Changes atau Apply Changes and Restart Activity kini jauh lebih cepat.

Untuk mempelajari perbedaan antara dua tindakan ini lebih lanjut, lihat Apply Changes.

Dukungan untuk perubahan kode tambahan

Untuk perangkat yang menjalankan Android 11 Pratinjau Developer 3 atau yang lebih tinggi, kini Anda dapat menambahkan metode, lalu men-deploy perubahan tersebut ke aplikasi yang berjalan dengan mengklik Apply Code Changes atau Apply Changes and Restart Activity .

4.0 (Mei 2020)

Android Studio 4.0 merupakan rilis utama yang menyertakan berbagai penyempurnaan dan fitur baru.

4.0.1 (Juli 2020)

Update minor ini menyertakan berbagai perbaikan bug, serta mendukung setelan default baru untuk Visibilitas paket di Android 11. Untuk mengetahui informasi selengkapnya, lihat catatan rilis untuk plugin Android Gradle 4.0.1.

Untuk melihat daftar perbaikan bug penting untuk rilis ini, baca postingan terkait di blog Update Rilis.

4.0 (Mei 2020)

Penting: Setelah diupdate, Android Studio harus dimulai ulang untuk menerapkan setelan memori yang dimigrasikan dari IDE versi sebelumnya. Untuk mengetahui informasi selengkapnya, lihat halaman Masalah Umum.

Plugin Android Gradle 4.0.0

Plugin Android Gradle versi terbaru menyertakan banyak update, seperti desugaring Java 8 untuk versi Android yang lebih lama dan dependensi fitur pada fitur. Untuk mempelajari lebih lanjut, baca catatan rilis plugin Android Gradle lengkap.

Selain itu, Android Studio kini menyertakan fitur baru untuk membantu meningkatkan performa build.

Build Analyzer

Saat menggunakan Android Studio 4.0 dengan plugin Android Gradle 4.0.0 dan yang lebih tinggi, jendela Build Analyzer membantu Anda memahami dan mendiagnosis masalah pada proses build, seperti pengoptimalan yang dinonaktifkan dan tugas yang tidak dikonfigurasi dengan benar. Untuk membuka jendela Build Analyzer, lakukan langkah-langkah berikut:

  1. Jika belum melakukannya, build aplikasi dengan memilih Build > Make Project dari panel menu.
  2. Pilih View > Tool Windows > Build dari panel menu.
  3. Pada jendela Build, buka jendela Build Analyzer dengan salah satu cara berikut:
    • Setelah Android Studio selesai mem-build project, klik tab Build Analyzer.
    • Setelah Android Studio selesai mem-build project, klik link di sebelah kanan jendela Build Output.

Jendela Build Analyzer mengatur masalah build yang mungkin muncul dalam hierarki di sebelah kiri. Anda dapat memeriksa dan mengklik setiap masalah untuk mengetahui detailnya di panel sebelah kanan. Saat menganalisis build, Android Studio menghitung kumpulan tugas yang menentukan durasi build dan memberikan visualisasi untuk membantu Anda memahami dampak dari setiap tugas tersebut. Anda juga bisa mendapatkan detail tentang peringatan dengan meluaskan node Warnings.

Periksa tugas yang paling bertanggung jawab atas durasi build.

Memeriksa tugas yang menentukan durasi build.

Desugaring library Java 8 dalam D8 dan R8

Android Studio kini menyertakan dukungan untuk menggunakan sejumlah API bahasa Java 8 tanpa memerlukan API level minimum untuk aplikasi Anda.

Melalui proses yang disebut desugaring, compiler DEX, D8, di Android Studio 3.0 dan yang lebih tinggi telah memberikan dukungan besar untuk fitur bahasa Java 8 (seperti ekspresi lambda, metode antarmuka default, coba dengan resource, dan banyak lagi). Di Android Studio 4.0, mesin desugaring telah diperluas untuk dapat melakukan desugaring API bahasa Java. Artinya, Anda kini dapat menyertakan API bahasa standar yang hanya tersedia di rilis Android terbaru (seperti java.util.streams) di aplikasi yang mendukung versi Android yang lebih lama.

Kumpulan API berikut ini didukung dalam rilis ini:

  • Aliran berurutan (java.util.stream)
  • Subset java.time
  • java.util.function
  • Penambahan terbaru pada java.util.{Map,Collection,Comparator}
  • Opsional (java.util.Optional, java.util.OptionalInt, dan java.util.OptionalDouble) serta beberapa class baru lainnya yang berguna dengan API di atas
  • Beberapa tambahan pada java.util.concurrent.atomic (metode baru pada AtomicInteger, AtomicLong, dan AtomicReference)
  • ConcurrentHashMap (dengan perbaikan bug untuk Android 5.0)

Untuk mendukung API bahasa ini, D8 mengompilasi file DEX library terpisah yang berisi implementasi API yang tidak ada dan menyertakannya di aplikasi. Proses desugaring menulis ulang kode aplikasi untuk menggunakan library ini pada waktu proses.

Guna mengaktifkan dukungan untuk API bahasa ini, sertakan yang berikut ini dalam file build.gradle modul aplikasi Anda:

Groovy

android {
    defaultConfig {
        // Required when setting minSdkVersion to 20 or lower
        multiDexEnabled true
    }

    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.4'
}

Kotlin

android {
    defaultConfig {
        // Required when setting minSdkVersion to 20 or lower
        multiDexEnabled = true
    }

    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled = true
        // Sets Java compatibility to Java 8
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
}

dependencies {
    coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.0.4")
}

Perhatikan bahwa Anda mungkin juga perlu menyertakan cuplikan kode di atas dalam file build.gradle modul library jika:

  • Uji instrumentasi modul library menggunakan API bahasa ini (baik secara langsung, melalui modul library, maupun dependensinya). Hal ini dilakukan agar API yang tidak ada disediakan untuk APK uji instrumentasi Anda.

  • Anda ingin menjalankan lint di modul library secara terpisah. Hal ini untuk membantu lint mengenali penggunaan valid dari API bahasa dan menghindari pelaporan peringatan palsu.

Dependensi fitur pada fitur

Pada versi plugin Android Gradle sebelumnya, semua modul fitur hanya dapat bergantung pada modul dasar aplikasi. Jika menggunakan plugin Android Gradle 4.0.0 dan yang lebih tinggi, kini Anda dapat menyertakan modul fitur yang bergantung pada modul fitur lainnya. Yaitu, fitur :video dapat bergantung pada fitur :camera, yang bergantung pada modul dasar, sebagaimana ditunjukkan dalam gambar di bawah ini.

Dependensi fitur pada fitur

Modul fitur :video bergantung pada fitur :camera, yang bergantung pada modul :app dasar.

Artinya, saat aplikasi meminta untuk mendownload modul fitur, aplikasi juga mendownload modul fitur lain yang menjadi tempatnya bergantung. Setelah membuat modul fitur untuk aplikasi, Anda dapat mendeklarasikan dependensi fitur pada fitur dalam file build.gradle modul. Misalnya, modul :video mendeklarasikan dependensi pada :camera sebagai berikut:

Groovy

// In the build.gradle file of the ':video' module.
dependencies {
    // All feature modules must declare a dependency
    // on the base module.
    implementation project(':app')
    // Declares that this module also depends on the 'camera' feature module.
    implementation project(':camera')
    ...
}

Kotlin

// In the build.gradle file of the ':video' module.
dependencies {
    // All feature modules must declare a dependency
    // on the base module.
    implementation(project(":app"))
    // Declares that this module also depends on the 'camera' feature module.
    implementation(project(":camera"))
    ...
}

Selain itu, Anda harus mengaktifkan fitur dependensi fitur pada fitur di Android Studio (untuk mendukung fitur saat mengedit konfigurasi Run, misalnya ) dengan mengklik Help > Edit Custom VM Options dari panel menu dan menyertakan yang berikut:

-Drundebug.feature.on.feature=true

Metadata dependensi

Saat mem-build aplikasi menggunakan plugin Android Gradle 4.0.0 dan yang lebih tinggi, plugin akan menyertakan metadata yang menjelaskan dependensi yang dikompilasi ke dalam aplikasi Anda. Saat mengupload aplikasi, Konsol Play akan memeriksa metadata ini untuk memberikan manfaat berikut kepada Anda:

  • Mendapatkan pemberitahuan untuk masalah umum terkait SDK dan dependensi yang digunakan aplikasi Anda
  • Menerima masukan yang dapat ditindaklanjuti untuk menyelesaikan masalah tersebut

Data dikompresi, dienkripsi oleh kunci penandatanganan Google Play, dan disimpan di blok penandatanganan aplikasi rilis Anda. Namun, Anda sendiri dapat memeriksa metadata dalam file build perantara lokal di direktori berikut: <project>/<module>/build/outputs/sdk-dependencies/release/sdkDependency.txt.

Jika tidak ingin membagikan informasi ini, Anda dapat memilih tidak ikut dengan menyertakan hal berikut ini dalam file build.gradle modul Anda:

Groovy

android {
    dependenciesInfo {
        // Disables dependency metadata when building APKs.
        includeInApk = false
        // Disables dependency metadata when building Android App Bundles.
        includeInBundle = false
    }
}

Kotlin

android {
    dependenciesInfo {
        // Disables dependency metadata when building APKs.
        includeInApk = false
        // Disables dependency metadata when building Android App Bundles.
        includeInBundle = false
    }
}

Dukungan untuk file skrip DSL Kotlin

Plugin Android Gradle kini mendukung file skrip build DSL Kotlin (*.kts). Saat digunakan dengan Android Studio, fitur IDE tertentu, seperti dialog Project Structure dan perbaikan cepat skrip build, kini juga mendukung proses membaca dan menulis ke file skrip build Kotlin.

Upgrade CPU Profiler

Berdasarkan masukan Anda, kami telah memfokuskan upaya kami dalam menyempurnakan pengalaman pengguna di CPU Profiler dengan dua cara penting.

Pertama, dibandingkan rilis Android Studio sebelumnya, tingkat error untuk rekaman CPU di CPU Profiler telah berkurang signifikan.

Kedua, UI CPU Profiler telah diperbaiki untuk menghadirkan alur kerja yang lebih intuitif. Beberapa perubahan UI penting mencakup hal berikut:

  • Rekaman CPU kini terpisah dari linimasa profiler utama untuk memudahkan analisis. Data yang direkam diatur dalam grup di sisi kiri jendela Profiler. Anda dapat memindahkan grup ke atas dan ke bawah untuk mengatur ulang daftar dengan mengklik ikon opsi ikon opsi di profiler di pojok kanan atas jendela, atau dengan menarik lalu melepas setiap item dalam grup.
  • Untuk memudahkan analisis secara berdampingan, kini Anda dapat menampilkan semua aktivitas thread di linimasa aktivitas thread (termasuk metode, fungsi, dan peristiwa). Ada beberapa cara untuk membuka linimasa:
    • Untuk fokus pada waktu tertentu, tarik rentang pada diagram penggunaan CPU di kiri atas.
    • Untuk memperbesar atau memperkecil, gunakan roda mouse sambil menahan Control (atau Command di MacOS). Untuk menggeser ke kiri atau kanan, tarik sambil menahan spasi.
    • Atau, gunakan tombol W dan A untuk memperbesar dan memperkecil tampilan secara mendetail, serta tombol S dan D untuk menggeser tampilan ke kiri dan ke kanan secara mendetail.
  • Tab untuk analisis Flame Chart, Top Down, dan Bottom Up kini ada di kolom sebelah kanan. Dalam grup Thread, thread otomatis diperluas untuk perekaman Pelacakan Sistem dan diciutkan secara default untuk jenis perekaman lainnya. Klik dua kali (atau tekan Enter) pada nama thread untuk memperluas atau menciutkan thread.
  • UI Pelacakan Sistem, seperti yang ditunjukkan dalam screenshot, juga menyertakan penyempurnaan:
    • Peristiwa kini diberi warna unik agar lebih mudah dibedakan.
    • Thread diurutkan berdasarkan jumlah peristiwa pelacakan di dalamnya sehingga thread "yang lebih sibuk" berada di peringkat yang lebih tinggi dalam daftar.
    • Anda dapat memilih satu atau beberapa thread untuk melihat analisis di kolom sebelah kanan hanya untuk thread yang dipilih tersebut.
    • Demikian pula, Anda dapat memilih peristiwa pelacakan dalam thread apa pun untuk melihat data analisisnya.

Alat desain

Versi Android Studio ini menyertakan update untuk alat desain, seperti Layout Inspector dan Motion Editor yang baru.

Motion Editor Baru

Android Studio kini menyertakan editor desain visual untuk jenis tata letak MotionLayout, sehingga membuat dan melihat pratinjau animasi menjadi lebih mudah.

Motion Editor menyediakan antarmuka sederhana untuk memanipulasi elemen dari library MotionLayout yang berfungsi sebagai dasar untuk animasi di aplikasi Android. Dalam rilis sebelumnya, membuat dan mengubah elemen-elemen ini memerlukan pengeditan batasan secara manual dalam file resource XML. Kini, Motion Editor dapat membuat XML ini untuk Anda, dengan dukungan untuk status awal dan akhir, keyframe, transisi, dan linimasa.

Untuk mempelajari cara menggunakan Motion Editor lebih lanjut, lihat panduan pengguna.

Live Layout Inspector

Debug tata letak dengan Live Layout Inspector terbaru yang menyediakan insight lengkap secara real-time ke UI aplikasi saat Live Layout Inspector di-deploy ke suatu perangkat.

Untuk membuka jendela Layout Inspector, buka View > Tools Windows > Layout Inspector. Selain sejumlah fitur yang sama dengan Layout Inspector yang ada, Live Layout Inspector juga menyertakan:

  • Hierarki tata letak dinamis: Memperbarui saat tampilan di perangkat berubah.

Hierarki tata letak dinamis

  • Stack resolusi nilai properti: Menyelidiki tempat asal nilai properti resource dalam kode sumber dan membuka lokasinya dengan membuka hyperlink di panel properties.

Stack resolusi nilai properti

  • Tampilan 3D: Melihat hierarki tampilan aplikasi saat waktu proses dengan visualisasi 3D lanjutan. Untuk menggunakan fitur ini, di jendela Live Layout Inspector, cukup klik dan putar Tata Letak.

Layout Inspector: tampilan 3D

Anda hanya dapat menggunakan Live Layout Inspector saat men-deploy aplikasi ke perangkat atau emulator yang menjalankan API level 29 atau yang lebih tinggi. Untuk mengaktifkan Live Layout Inspector, buka File > Settings > Experimental, lalu centang kotak di samping Enable Live Layout Inspector. Kemudian klik kotak centang di samping Live updates di atas Layout Display.

Layout Validation

Layout Validation adalah alat visual untuk melihat pratinjau tata letak secara bersamaan di berbagai perangkat dan konfigurasi, sehingga membantu Anda mendeteksi error tata letak dan membuat aplikasi yang lebih mudah diakses.

Membuat pratinjau tata letak kustom di jendela Layout Validation

Anda dapat mengakses fitur ini dengan mengklik tab Layout Validation di pojok kanan atas jendela IDE:

Tab Layout Validation di Android Studio

Di jendela Layout Validation, Anda dapat memilih dari empat rangkaian konfigurasi berbeda, termasuk:

  • Pixel Devices: Menampilkan pratinjau aplikasi pada pilihan perangkat Pixel.
  • Custom: Pratinjau aplikasi menggunakan opsi tampilan kustom seperti orientasi layar atau bahasa.
  • Color Blind: Menampilkan pratinjau aplikasi menggunakan simulasi jenis kebutaan warna yang umum.
  • Font Sizes: Menampilkan pratinjau aplikasi menggunakan berbagai ukuran font.

Untuk mempelajari lebih lanjut cara menggunakan Layout Validation, lihat Men-debug Tata Letak dengan Layout Inspector.

Fitur editor cerdas untuk aturan penyingkat kode

Android Studio kini menyediakan fitur editor cerdas saat Anda membuka file aturan penyingkat kode untuk R8, seperti penandaan sintaks, penyelesaian kode, dan pemeriksaan error. Editor juga terintegrasi dengan project Android Studio guna memberikan penyelesaian simbol penuh untuk semua class, metode, dan kolom, serta menyertakan navigasi cepat dan pemfaktoran ulang.

Fitur editor cerdas saat mengedit file aturan R8

Template langsung Android Kotlin

Android Studio kini menyertakan template langsung Android untuk class Kotlin. Misalnya, kini Anda dapat mengetik toast dan menekan tombol Tab untuk memasukkan Toast dengan cepat. Untuk daftar lengkap template langsung yang tersedia, klik File > Setting dari panel menu (atau Android Studio > Preferences di macOS), lalu buka Editor > Live Templates.

Wizard Fragment dan template fragmen baru

Wizard New Android Fragment dan template fragmen baru kini tersedia saat Anda membuka File > New > Fragment > Gallery atau mengklik Create new destination di editor Navigation.

Dukungan kamera yang diperluas di Android emulator

Saat menggunakan gambar Android 11, kamera Android Emulator menyertakan fitur baru berikut:

  • Pengambilan foto RAW
  • Pemrosesan ulang YUV
  • Perangkat level 3
  • Dukungan kamera logis

Untuk mempelajari pengembangan aplikasi Android 11 lebih lanjut, lihat dokumentasi Android 11.

clangd kini tersedia untuk editor kode C++

Jetbrains CLion, teknologi yang mendasari dukungan bahasa C++ Android Studio, kini menggunakan mesin pemeriksaan berdasarkan clangd dan clang-tidy LLVM, yang mempercepat penyelesaian kode C/C++ dan menghadirkan integrasi yang lebih lancar dengan clang-tidy.

Kini tersedia di editor kode C++ Android Studio, clangd dan clang-tidy merupakan bagian dari alat tambahan LLVM open source:

  • clangd dilengkapi penyelesaian kode, mengompilasi pesan error di editor, dan navigasi go-to-definition.
  • clang-tidy adalah alat linter C++ dengan framework yang dapat diperluas untuk mendiagnosis dan memperbaiki error pemrograman umum.

Dalam rilis sebelumnya, pengguna Android Studio dapat menggunakan clang-tidy melalui NDK; dengan perubahan ini, Android Studio tidak lagi bergantung pada NDK untuk fungsi clang-tidy.

Setelan ndk.dir dalam file local.properties tidak digunakan lagi

Nilai untuk ndk.dir seharusnya tidak lagi ditetapkan di file local.properties aplikasi, dan dukungan untuk setelan ndk.dir ini akan dihapus dalam versi mendatang. Plugin Android Gradle menetapkan versi NDK secara default, tetapi jika memerlukan versi NDK tertentu, Anda dapat menetapkan android.ndkVersion di build.gradle.

Untuk informasi selengkapnya tentang menyiapkan NDK, lihat Menginstal serta mengonfigurasi NDK dan CMake.

IntelliJ IDEA 2019.3.3

Android Studio IDE inti telah diupdate dengan penyempurnaan dari IntelliJ IDEA melalui rilis 2019.3.3.

Untuk mempelajari lebih lanjut tentang penyempurnaan dari versi IntelliJ lain yang disertakan secara kumulatif dengan versi 2019.3.3, lihat halaman berikut:

3.6 (Februari 2020)

Android Studio 3.6 merupakan rilis utama yang menyertakan berbagai penyempurnaan dan fitur baru.

Kami juga ingin berterima kasih kepada semua kontributor komunitas yang telah membantu kami dalam rilis ini.

3.6.3 (April 2020)

Update minor ini menyertakan berbagai perbaikan bug. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

3.6.2 (Maret 2020)

Update minor ini menyertakan berbagai perbaikan bug. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

3.6.1 (Februari 2020)

Update minor ini menyertakan berbagai perbaikan bug. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

Alat desain

Versi Android Studio ini menyertakan update untuk beberapa alat desain, termasuk Layout Editor dan Resource Manager.

Tampilan terpisah dan zoom dalam editor desain

tampilan terpisah menampilkan desain dan tampilan teks secara bersamaan

Update berikut untuk editor desain visual disertakan dalam rilis ini:

  • Editor desain, seperti Layout Editor dan Navigation Editor, kini menyediakan tampilan Split yang memungkinkan Anda melihat tampilan Design dan Code UI secara bersamaan. Di pojok kanan atas jendela editor, kini ada tiga tombol ikon tampilan untuk memilih opsi tampilan:

    • Untuk mengaktifkan tampilan terpisah, klik ikon Split ikon tampilan terpisah.
    • Untuk mengaktifkan tampilan sumber XML, klik ikon Source ikon tampilan sumber.
    • Untuk mengaktifkan tampilan desain, klik ikon Design ikon tampilan desain.
  • Kontrol untuk memperbesar/memperkecil dan menggeser dalam editor desain telah dipindahkan ke panel mengambang di pojok kanan bawah jendela editor.

Untuk mempelajari lebih lanjut, lihat Membuat UI dengan Layout Editor.

Tab Resource Pemilih Warna

Untuk membantu Anda memperbarui nilai resource warna dengan cepat di aplikasi saat menggunakan pemilih warna dalam XML atau alat desain, IDE kini mengisi nilai resource warna untuk Anda.

Pemilih warna dengan nilai warna terisi

Resource Manager

Resource Manager berisi pembaruan berikut:

  • Resource Manager kini mendukung sebagian besar jenis resource.
  • Saat menelusuri resource, Resource Manager kini menampilkan hasil dari semua modul project. Sebelumnya, penelusuran hanya menampilkan hasil dari modul yang dipilih.
  • Tombol filter memungkinkan Anda melihat resource dari modul dependen lokal, library eksternal, dan framework Android. Anda juga dapat menggunakan filter untuk menampilkan atribut tema.
  • Kini Anda dapat mengganti nama resource saat proses impor berlangsung dengan mengklik dalam kotak teks di atas resource.

Untuk mempelajari lebih lanjut, lihat Mengelola resource UI aplikasi dengan Resource Manager.

Update plugin Android Gradle

Versi terbaru plugin Android Gradle menyertakan banyak update, termasuk pengoptimalan untuk kecepatan build, dukungan untuk plugin publikasi Maven, dan dukungan untuk View Binding. Untuk mempelajari lebih lanjut, baca catatan rilis lengkap.

View binding

Dengan View binding, menulis kode yang berinteraksi dengan tampilan menjadi lebih mudah, yakni dengan menghasilkan class binding untuk setiap file tata letak XML. Class ini berisi referensi langsung ke semua tampilan yang memiliki ID dalam tata letak terkait.

Karena menggantikan findViewById(), view binding menghilangkan risiko pengecualian pointer null yang dihasilkan dari ID tampilan yang tidak valid.

Untuk mengaktifkan view binding, Anda harus menggunakan plugin Android Gradle 3.6.0 atau yang lebih tinggi dan menyertakan yang berikut ini dalam setiap file build.gradle modul:

Groovy

android {
    buildFeatures.viewBinding = true
}

Kotlin

android {
    buildFeatures.viewBinding = true
}

Apply Changes

Kini Anda dapat menambahkan class, lalu men-deploy perubahan kode tersebut ke aplikasi yang sedang berjalan dengan mengklik Apply Code Changes Ikon Apply Code Changes atau Apply Changes and Restart Activity Ikon Apply Changes.

Untuk mempelajari perbedaan antara dua tindakan ini lebih lanjut, lihat Apply Changes.

Memfaktorkan ulang opsi menu untuk mengaktifkan dukungan Aplikasi Instan

Kini Anda dapat mengaktifkan secara instan modul dasar kapan pun setelah membuat project aplikasi seperti berikut:

  1. Buka panel Project dengan memilih View > Tool Windows > Project dari panel menu.
  2. Klik kanan modul dasar, biasanya bernama 'app', lalu pilih Refactor > Enable Instant Apps Support.
  3. Pada dialog yang muncul, pilih modul dasar dari menu dropdown.
  4. Klik OK.

Untuk mempelajari lebih lanjut, baca Ringkasan Google Play Instan.

Men-deobfuscate class dan bytecode metode pada APK Analyzer

Saat menggunakan APK Analyzer untuk memeriksa file DEX, Anda dapat men-deobfuscate class dan bytecode metode sebagai berikut:

  1. Pilih Build > Analyze APK dari panel menu.
  2. Pada dialog yang muncul, klik APK yang ingin diperiksa, lalu pilih.
  3. Klik Buka.
  4. Pada APK Analyzer, pilih file DEX yang ingin diperiksa.
  5. Dalam penampil file DEX, muat file pemetaan ProGuard untuk APK yang sedang dianalisis.
  6. Klik kanan class atau metode yang ingin diperiksa, lalu pilih Show bytecode.

Alat native

Update berikut mendukung pengembangan native (C/C++) di Android Studio.

Dukungan Kotlin

Fitur NDK di Android Studio berikut, yang sebelumnya didukung dalam Java, kini juga didukung dalam Kotlin:

  • Navigasikan dari deklarasi JNI ke fungsi implementasi terkait pada C/C++. Lihat pemetaan ini dengan mengarahkan kursor ke penanda item C atau C++ di dekat nomor baris dalam file kode sumber terkelola.
  • Otomatis buat fungsi implementasi stub untuk deklarasi JNI. Tentukan deklarasi JNI terlebih dahulu, lalu ketik "jni" atau nama metode dalam file C/C++ untuk mengaktifkan.

  • Fungsi implementasi native yang tidak digunakan ditandai sebagai peringatan dalam kode sumber. Deklarasi JNI yang tidak memiliki implementasi juga ditandai sebagai error.

  • Jika Anda mengganti nama (memfaktorkan ulang) fungsi implementasi native, semua deklarasi JNI terkait akan diperbarui. Ganti nama deklarasi JNI untuk memperbarui fungsi implementasi native.

  • Pemeriksaan tanda tangan untuk implementasi JNI yang terikat secara implisit.

Penyempurnaan JNI lainnya

Editor kode di Android Studio kini mendukung alur kerja pengembangan JNI yang lebih lancar, termasuk petunjuk jenis yang lebih baik, pelengkapan otomatis, pemeriksaan, dan pemfaktoran ulang kode.

Pemuatan ulang APK untuk library native

Anda tidak perlu lagi membuat project baru jika APK dalam project diupdate di luar IDE. Android Studio mendeteksi perubahan pada APK dan memberikan opsi untuk mengimpornya ulang.

Melampirkan sumber APK khusus Kotlin

Kini Anda dapat melampirkan sumber APK eksternal khusus Kotlin saat membuat profil dan men-debug APK yang sudah dibuat sebelumnya. Untuk mempelajari lebih lanjut, lihat Melampirkan sumber Kotlin/Java.

Deteksi kebocoran di Memory Profiler

Saat menganalisis heap dump di Memory Profiler, kini Anda dapat memfilter data pembuatan profil yang dianggap Android Studio dapat menunjukkan kebocoran memori untuk instance Activity dan Fragment di aplikasi.

Jenis data yang ditampilkan filter mencakup berikut ini:

  • Instance Activity yang telah dihapus tetapi masih direferensikan.
  • Instance Fragment yang tidak memiliki FragmentManager valid tetapi masih direferensikan.

Dalam situasi tertentu, seperti berikut ini, filter mungkin menghasilkan positif palsu:

  • Fragment dibuat tetapi belum digunakan.
  • Fragment di-cache tetapi bukan sebagai bagian dari FragmentTransaction.

Untuk menggunakan fitur ini, pertama ambil heap dump atau impor file heap dump ke Android Studio. Untuk menampilkan fragmen dan aktivitas yang mungkin membocorkan memori, pilih kotak centang Activity/Fragment Leaks pada panel heap dump Memory Profiler.

Profiler: Deteksi Kebocoran Memori

Memfilter heap dump untuk kebocoran memori.

Emulator

Android Studio 3.6 membantu Anda memanfaatkan beberapa update yang disertakan dalam Android Emulator 29.2.7 dan yang lebih tinggi, sebagaimana dijelaskan di bawah ini.

Peningkatan Dukungan Lokasi

Android Emulator 29.2.7 dan yang lebih tinggi menyediakan dukungan tambahan untuk mengemulasi koordinat GPS dan informasi rute. Saat Anda membuka Extended controls Emulator, opsi di tab Location kini disusun dalam dua tab: Single points dan Routes.

Single points

Di tab Single points, Anda dapat menggunakan webview Google Maps untuk menelusuri lokasi menarik, sama seperti yang dilakukan saat menggunakan Google Maps di ponsel atau browser. Saat menelusuri atau mengklik lokasi di peta, Anda dapat menyimpan lokasi dengan memilih Save point di dekat bagian bawah peta. Semua lokasi yang disimpan tercantum di sisi kanan jendela Extended controls.

Untuk menetapkan lokasi Emulator ke lokasi yang Anda pilih di peta, klik tombol Set location di dekat bagian bawah jendela Extended controls.

Tab Single Points di Extended Controls Emulator..

Routes

Serupa dengan tab Single points, tab Routes juga menyediakan webview Google Maps yang dapat digunakan untuk membuat rute antara dua atau beberapa lokasi. Untuk membuat dan menyimpan rute, lakukan langkah berikut:

  1. Dalam tampilan peta, gunakan kolom teks untuk menelusuri tujuan pertama dalam rute Anda.
  2. Pilih lokasi dari hasil penelusuran.
  3. Pilih tombol Navigate Tombol Navigate di Google Maps..
  4. Pilih titik awal rute Anda dari peta.
  5. (Opsional) Klik Add destination untuk menambahkan perhentian tambahan ke rute Anda.
  6. Simpan rute Anda dengan mengklik Save route di tampilan peta.
  7. Tentukan nama untuk rute dan klik Save.

Untuk menyimulasikan Emulator yang mengikuti rute yang disimpan, pilih rute dari daftar Saved routes, lalu klik Play route di dekat kanan bawah jendela Extended controls. Untuk menghentikan simulasi, klik Stop route.

Tab Routes di Kontrol Extended Controls Emulator..

Untuk terus menyimulasikan emulator mengikuti rute yang ditentukan, aktifkan tombol di sebelah Repeat playback. Untuk mengubah seberapa cepat emulator mengikuti rute yang ditentukan, pilih opsi dari menu drop-down Playback speed.

Dukungan multi-tampilan

Android Emulator kini memungkinkan Anda men-deploy aplikasi ke beberapa tampilan, yang mendukung dimensi yang dapat disesuaikan dan dapat membantu Anda menguji aplikasi yang mendukung multi-aplikasi dan multi-tampilan. Saat perangkat virtual sedang berjalan, Anda dapat menambahkan hingga dua tampilan tambahan seperti berikut:

  1. Buka Extended controls, lalu buka tab Displays.
  2. Tambahkan tampilan lain dengan mengklik Add secondary display.
  3. Dari menu drop-down di bagian Secondary displays, lakukan salah satu langkah berikut:

    1. Pilih salah satu rasio lebar tinggi yang telah ditetapkan sebelumnya
    2. Pilih custom, lalu tetapkan height, width, serta dpi untuk tampilan kustom.
  4. (Opsional) Klik Add secondary display untuk menambahkan tampilan ketiga.

  5. Klik Apply changes untuk menambahkan tampilan yang ditentukan ke perangkat virtual yang sedang berjalan.

Tambahkan beberapa tampilan untuk tab Extended Controls Display Emulator.

Template project dan perangkat virtual baru untuk Android Automotive OS

Saat membuat project baru menggunakan Android Studio, kini Anda dapat memilih dari tiga template dari tab Automotive di wizard Create New Project: No Activity, Media service, dan Messaging service. Untuk project yang ada, Anda dapat menambahkan dukungan untuk perangkat Android Automotive dengan memilih File > New > New Module dari panel menu, lalu memilih Automotive Module. Wizard Create New Module akan memandu Anda dalam membuat modul baru menggunakan salah satu template project Android Automotive.

Memilih template project Android Automotive..

Selain itu, kini Anda dapat membuat AVD (Perangkat Virtual Android) untuk perangkat Android Automotive OS dengan memilih salah satu opsi berikut di tab Automotive dalam wizard Virtual Device Configuration.

  1. Polestar 2: Membuat AVD yang mengemulasi head unit Polestar 2.
  2. Automotive (lanskap 1024p): Membuat AVD untuk head unit Android Automotive generik 1024 x 768 px.

Memilih perangkat virtual Android Automotive..

Download SDK yang dapat dilanjutkan

Bila mendownload komponen dan alat SDK menggunakan SDK Manager, Android Studio kini memungkinkan Anda melanjutkan download yang terhenti (misalnya, karena masalah jaringan), bukan memulai ulang download dari awal. Penyempurnaan ini sangat berguna untuk download besar, seperti Android Emulator atau image sistem, bila koneksi internet tidak dapat diandalkan.

Selain itu, jika memiliki tugas download SDK yang berjalan di latar belakang, kini Anda dapat menjeda atau melanjutkan download menggunakan kontrol di status bar.

Tugas download latar belakang di status bar dengan kontrol baru yang
          memungkinkan Anda menjeda atau melanjutkan download.

Tugas download latar belakang di status bar dengan kontrol baru yang memungkinkan Anda menjeda atau melanjutkan download.

Win32 tidak digunakan lagi

Android Studio versi Windows 32 bit tidak lagi menerima update setelah bulan Desember 2019, dan tidak akan lagi menerima dukungan setelah bulan Desember 2020. Anda dapat terus menggunakan Android Studio. Namun, untuk menerima update tambahan, upgrade komputer ke Windows versi 64 bit.

Untuk mempelajari lebih lanjut, baca blog depresiasi Windows 32 bit.

Opsi baru untuk mengoptimalkan waktu sinkronisasi Gradle

Dalam rilis sebelumnya, Android Studio mengambil daftar semua tugas Gradle selama Sinkronisasi Gradle. Untuk project besar, mengambil daftar tugas dapat memperlambat waktu sinkronisasi.

Untuk meningkatkan performa Sinkronisasi Gradle, buka File > Settings > Experimental, lalu pilih Do not build Gradle task list during Gradle sync.

Jika Anda mengaktifkan opsi ini, Android Studio akan melewati pembuatan daftar tugas selama sinkronisasi, yang memungkinkan Sinkronisasi Gradle selesai lebih cepat dan meningkatkan responsivitas UI. Perlu diingat, saat IDE melewati pembuatan daftar tugas, daftar tugas di panel Gradle akan kosong, dan pelengkapan otomatis nama tugas dalam file build tidak akan berfungsi.

Lokasi baru untuk beralih mode offline Gradle

Untuk mengaktifkan atau menonaktifkan mode offline Gradle, pertama-tama pilih View > Tool Windows > Gradle dari panel menu. Kemudian, di dekat bagian atas jendela Gradle, klik Toggle Offline Mode Tombol offline Gradle pada panel Gradle..

IntelliJ IDEA 2019.2

Android Studio IDE inti telah diupdate dengan penyempurnaan dari IntelliJ IDEA melalui rilis 2019.2.

Untuk mempelajari lebih lanjut penyempurnaan dari versi IntelliJ lain yang disertakan secara kumulatif dengan versi 2019.2, lihat halaman berikut:

Kontributor komunitas

Terima kasih kepada semua kontributor komunitas yang telah membantu kami menemukan bug dan cara lain untuk menyempurnakan Android Studio 3.6. Secara khusus, kami ingin berterima kasih kepada orang-orang berikut yang melaporkan bug:

  • Albert Lo
  • Alexey Rott
  • Andrea Leganza
  • Benedikt Kolb
  • César Puerta
  • Curtis Kroetsch
  • Damian Wieczorek
  • Dan Lew
  • David Burström
  • Deepanshu
  • Egor Andreevici
  • Eli Graber
  • Emin Kokalari
  • Evan Tatarka
  • Frantisek Nagy
  • Greg Moens
  • Hannes Achleitner
  • Hans Petter Eide
  • Henning Bunk
  • Hugo Visser
  • Igor Escodro
  • Iñaki Villar
  • Javentira Lienata
  • Joe Rogers
  • Kristoffer Danielsson
  • Liran Barsisa
  • Louis CAD
  • Lóránt Pintér
  • Łukasz Wasylkowski
  • Luke Fielke
  • Malvin Sutanto
  • Masatoshi Kubode
  • Mathew Winters
  • Michael Bailey
  • Michał Górny
  • Mihai Neacsu
  • Mike Scamell
  • Monte Creasor
  • Nelson Osacky
  • Nelson Osacky
  • Nick Firmani
  • Nicklas Ansman Giertz
  • Niclas Kron
  • Nicolás Lichtmaier
  • Niek Haarman
  • Niels van Hove
  • Niklas Baudy
  • Renato Goncalves
  • Roar Grønmo
  • Ruslan Baratov
  • Sinan Kozak
  • Slawomir Czerwinski
  • Stefan Wolf
  • Stephen D'Amico
  • Tao Wang
  • Tomas Chladek
  • Tomáš Procházka
  • Tony Robalik
  • Torbjørn Sørli
  • Warren He
  • Yenchi Lin
  • Zac Sweers
  • 3.5 (Agustus 2019)

    Android Studio 3.5 merupakan rilis utama dan hasil dari Project Marble. Mulai dari rilis Android Studio 3.3, inisiatif Project Marble telah diterapkan dalam beberapa rilis yang berfokus pada peningkatan tiga area utama IDE: kondisi sistem, penyempurnaan fitur, dan perbaikan bug.

    Untuk mengetahui informasi tentang hal ini dan update Project Marble lainnya, baca postingan blog Android Developer atau bagian di bawah ini.

    Kami juga ingin berterima kasih kepada semua kontributor komunitas yang telah membantu kami dalam rilis ini.

    3.5.3 (Desember 2019)

    Update minor ini menyertakan berbagai perbaikan bug dan penyempurnaan performa.

    3.5.2 (November 2019)

    Update minor ini menyertakan berbagai perbaikan bug dan penyempurnaan performa. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

    3.5.1 (Oktober 2019)

    Update minor ini menyertakan berbagai perbaikan bug dan penyempurnaan performa. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

    Project Marble: Kondisi sistem

    Bagian ini menjelaskan perubahan pada Android Studio 3.5 yang berfokus pada peningkatan kondisi sistem.

    Setelan memori yang direkomendasikan

    Android Studio kini akan memberi tahu jika mendeteksi bahwa Anda dapat menyempurnakan performa dengan meningkatkan jumlah maksimum RAM yang harus dialokasikan oleh OS untuk proses Android Studio, seperti IDE inti, daemon Gradle, dan daemon Kotlin. Anda dapat menyetujui setelan yang direkomendasikan dengan mengklik link tindakan di notifikasi, atau menyesuaikan setelan ini secara manual dengan memilih File > Settings (atau Android Studio > Preferences di macOS ), lalu menemukan bagian Memory Settings dalam Appearance & Behavior > System Settings. Untuk mempelajari lebih lanjut, lihat Ukuran heap maksimum.

    Notifikasi terkait setelan memori yang direkomendasikan.

    Notifikasi terkait setelan memori yang direkomendasikan.

    Laporan penggunaan memori

    Masalah memori di Android Studio terkadang sulit direproduksi dan dilaporkan. Untuk membantu mengatasi masalah ini, Android Studio memungkinkan Anda membuat laporan penggunaan memori dengan mengklik Help > Analyze Memory Usage dari panel menu. Bila Anda melakukannya, IDE akan membersihkan data yang berisi informasi pribadi secara lokal sebelum menanyakan apakah Anda ingin mengirimnya ke tim Android Studio untuk membantu mengidentifikasi sumber masalah memori. Untuk mempelajari lebih lanjut, lihat Menjalankan laporan penggunaan memori.

    Laporan penggunaan memori.

    Laporan penggunaan memori.

    Windows: Pengoptimalan I/O file antivirus

    Android Studio kini otomatis memeriksa apakah direktori project tertentu dikecualikan dari pemindaian antivirus real-time. Bila penyesuaian dapat dilakukan untuk meningkatkan performa build, Android Studio akan memberi tahu Anda dan memberikan petunjuk tentang cara mengoptimalkan konfigurasi antivirus. Untuk mempelajari lebih lanjut, lihat Meminimalkan dampak software antivirus pada kecepatan build.

    Project Marble: Penyempurnaan fitur

    Bagian ini menjelaskan perubahan pada Android Studio 3.5 yang berfokus pada penyempurnaan fitur yang ada.

    Apply Changes

    Apply Changes memungkinkan Anda mengirim perubahan kode dan resource ke aplikasi yang sedang berjalan tanpa memulai ulang aplikasi—dan, dalam kasus tertentu, tanpa memulai ulang aktivitas saat ini. Apply Changes mengimplementasikan pendekatan yang benar-benar baru untuk mempertahankan status aplikasi. Tidak seperti Instant Run, yang menulis ulang bytecode APK, Apply Changes menentukan kembali class sewaktu proses berjalan dengan memanfaatkan instrumentasi runtime yang didukung di Android 8.0 (API level 26) atau yang lebih tinggi.

    Untuk mempelajari lebih lanjut, lihat Apply Changes.

    Tombol toolbar untuk Apply Changes.

    Tombol toolbar untuk Apply Changes.

    Alur deployment aplikasi

    IDE memiliki menu drop-down baru yang memungkinkan Anda dengan cepat memilih perangkat yang ingin digunakan untuk men-deploy aplikasi. Menu ini juga menyertakan opsi baru yang memungkinkan Anda menjalankan aplikasi di beberapa perangkat sekaligus.

    Menu drop-down perangkat target.

    Menu drop-down perangkat target.

    Peningkatan sinkronisasi Gradle dan deteksi cache

    IDE kini mendeteksi secara lebih baik bila Gradle menghapus cache build secara berkala saat mengurangi pemakaian hard disk. Dalam versi sebelumnya, status ini menyebabkan IDE melaporkan dependensi yang tidak ada dan gagalnya sinkronisasi Gradle. Kini, IDE cukup mendownload dependensi sesuai kebutuhan untuk memastikan bahwa sinkronisasi Gradle berhasil diselesaikan.

    Peningkatan output error build

    Jendela Build Ikon jendela build kini menyediakan laporan error yang lebih baik, seperti link ke file dan baris tempat error yang dilaporkan terjadi, untuk proses build berikut:

    • Penautan dan kompilasi AAPT
    • R8 dan ProGuard
    • Dexing
    • Penggabungan resource
    • Penguraian file XML
    • Kompilasi Javac, Kotlinc, dan CMake

    Upgrade Project

    Peningkatan pengalaman update untuk memberikan lebih banyak informasi dan tindakan guna membantu Anda mengupdate IDE dan plugin Android Gradle. Misalnya, lebih banyak error sinkronisasi dan build menyertakan tindakan untuk membantu Anda mengurangi error saat mengupdate.

    Perlu diingat bahwa Anda dapat mengupdate IDE secara terpisah dari komponen lain, seperti plugin Android Gradle. Jadi, Anda dapat mengupdate IDE dengan aman begitu versi yang lebih baru tersedia, dan memperbarui komponen lainnya nanti.

    Layout Editor

    Android Studio 3.5 menyertakan beberapa penyempurnaan untuk visualisasi tata letak, pengelolaan, dan interaksi.

    Saat menangani ConstraintLayout, bagian Constraints baru dalam panel Attributes mencantumkan hubungan batasan komponen UI yang dipilih. Anda dapat memilih batasan dari platform desain atau daftar batasan untuk menandai batasan di kedua area.

    Hubungan batasan untuk elemen UI yang dipilih.

    Hubungan batasan untuk elemen UI yang dipilih.

    Demikian pula, kini Anda dapat menghapus batasan dengan memilihnya, lalu menekan tombol Delete. Anda juga dapat menghapus batasan dengan menahan tombol Control (Command di macOS), lalu mengklik titik link batasan. Perlu diketahui bahwa saat Anda menahan tombol Control atau Command dan mengarahkan kursor ke anchor, semua batasan terkait akan berubah menjadi merah untuk menunjukkan bahwa Anda dapat mengklik untuk menghapusnya.

    Saat tampilan dipilih, Anda dapat membuat batasan dengan mengklik ikon + apa pun di bagian Constraint Widget pada panel Attributes, sebagaimana ditunjukkan dalam gambar berikut. Saat Anda membuat batasan baru, Layout Editor kini memilih dan menandai batasan, sehingga memberikan masukan visual langsung untuk batasan yang baru ditambahkan.

    Animasi yang menunjukkan cara menggunakan widget batasan untuk
          membuat batasan.

    Menggunakan widget batasan untuk membuat batasan.

    Saat membuat batasan, Layout Editor kini hanya menampilkan titik link yang memenuhi syarat yang dapat dibatasi. Sebelumnya, Layout Editor menandai semua titik link pada semua tampilan, terlepas dari apakah Anda dapat membatasinya atau tidak. Selain itu, overlay biru kini menandai target batasan. Penandaan ini sangat berguna saat mencoba membatasi komponen yang tumpang tindih dengan komponen lain.

    Animasi yang menunjukkan cara membuat batasan untuk komponen yang
          tumpang tindih di Android Studio 3.4.

    Membuat batasan untuk komponen yang tumpang-tindih di Android Studio 3.4.

    Animasi yang menunjukkan cara membuat batasan untuk komponen yang
          tumpang tindih di Android Studio 3.5.

    Membuat batasan untuk komponen yang tumpang-tindih di Android Studio 3.5.

    Selain update di atas, Android Studio 3.5 juga berisi penyempurnaan Layout Editor berikut:

    • Constraint Widget dan drop-down margin default kini memungkinkan Anda menggunakan resource dimensi untuk margin.
    • Pada toolbar Layout Editor, daftar perangkat yang menentukan ukuran platform desain telah diperbarui. Selain itu, perilaku snap saat mengubah ukuran telah disempurnakan, dan handel pengubah ukuran pada platform desain kini selalu terlihat. Saat mengubah ukuran, overlay baru akan muncul dan menunjukkan ukuran perangkat yang umum.
    • Layout Editor memiliki skema warna baru yang meningkatkan konsistensi dan mengurangi kontras antara komponen, teks, dan batasan.
    • Mode cetak biru kini menyertakan dukungan teks untuk beberapa komponen yang tidak menampilkan teks.

    Untuk informasi selengkapnya tentang perubahan ini, lihat Android Studio Project Marble: Layout Editor.

    Data Binding

    Selain menambahkan dukungan pemrosesan anotasi inkremental untuk Data Binding, IDE meningkatkan performa dan fitur editor cerdas saat membuat ekspresi data binding dalam XML.

    Animasi yang menunjukkan performa editor kode di Android Studio
          3.4.

    Performa editor kode di Android Studio 3.4.

    Animasi yang menunjukkan performa editor kode di Android Studio
          3.5.

    Peningkatan performa pengeditan kode di Android Studio 3.5.

    Peningkatan dukungan untuk project C/C++

    Android Studio 3.5 menyertakan beberapa perubahan yang meningkatkan dukungan untuk project C/C++.

    Penyempurnaan panel Build Variants untuk sinkronisasi varian tunggal

    Kini Anda dapat menentukan varian build aktif dan ABI aktif di panel Build Variants. Fitur ini menyederhanakan konfigurasi build per modul dan juga dapat meningkatkan performa sinkronisasi Gradle.

    Untuk mempelajari lebih lanjut, lihat Mengubah varian build.

    Panel Build Variants yang menampilkan pemilihan varian tunggal oleh ABI.

    Panel Build Variants dengan pemilihan varian tunggal oleh ABI.

    Versi NDK berdampingan

    Kini Anda dapat menggunakan beberapa versi NDK secara berdampingan. Fitur ini memberikan lebih banyak fleksibilitas saat mengonfigurasi project—misalnya, jika Anda memiliki project yang menggunakan versi NDK berbeda pada mesin yang sama.

    Jika project menggunakan plugin Android Gradle 3.5.0 atau yang lebih tinggi, Anda juga dapat menentukan versi NDK yang harus digunakan oleh setiap modul dalam project. Anda dapat menggunakan fitur ini untuk membuat build yang dapat direproduksi dan mengurangi inkompatibilitas antara versi NDK dan plugin Android Gradle.

    Untuk mempelajari lebih lanjut, lihat Menginstal serta mengonfigurasi NDK, CMake, dan LLDB.

    Dukungan Chrome OS

    Android Studio kini secara resmi mendukung perangkat Chrome OS, seperti HP Chromebook x360 14, Acer Chromebook 13/Spin 13, dan perangkat lainnya, yang dapat dibaca di persyaratan sistem. Untuk memulai, download Android Studio di perangkat Chrome OS yang kompatibel, lalu ikuti petunjuk penginstalan.

    Pengiriman bersyarat untuk modul fitur

    Pengiriman bersyarat memungkinkan Anda menetapkan persyaratan konfigurasi perangkat tertentu agar modul fitur otomatis didownload saat penginstalan aplikasi berlangsung. Misalnya, Anda dapat mengonfigurasi agar modul fitur yang menyertakan fungsi AR (augmented reality) tersedia saat menginstal aplikasi hanya untuk perangkat yang mendukung AR.

    Mekanisme pengiriman ini saat ini mendukung pengontrolan download modul saat proses penginstalan aplikasi berdasarkan konfigurasi perangkat berikut:

    • Fitur hardware dan software perangkat, termasuk versi OpenGL ES
    • Negara pengguna
    • API level

    Jika perangkat tidak memenuhi semua persyaratan yang Anda tentukan, modul tidak akan didownload pada saat penginstalan aplikasi. Namun, aplikasi dapat meminta untuk mendownload modul on demand di lain waktu menggunakan Library Play Core. Untuk mempelajari lebih lanjut, baca Mengonfigurasi pengiriman bersyarat.

    IntelliJ IDEA 2019.1

    Android Studio IDE inti telah diupdate dengan penyempurnaan dari IntelliJ IDEA melalui rilis 2019.1, seperti penyesuaian tema.

    Versi IntelliJ terakhir yang disertakan dengan Android Studio adalah 2018.3.4. Untuk informasi selengkapnya tentang penyempurnaan dari versi IntelliJ lain yang disertakan secara kumulatif dengan rilis Android Studio ini, lihat update perbaikan bug berikut:

    Update plugin Android Gradle 3.5.0

    Untuk mendapatkan informasi tentang hal yang baru dalam plugin Android Gradle 3.5.0, seperti peningkatan dukungan untuk pemrosesan anotasi inkremental dan pengujian unit yang dapat di-cache, lihat catatan rilis.

    Kontributor komunitas

    Terima kasih kepada semua kontributor komunitas yang telah membantu kami menemukan bug dan cara lain untuk menyempurnakan Android Studio 3.5. Secara khusus, kami ingin berterima kasih kepada orang-orang berikut yang melaporkan bug P0 dan P1:

    3.4 (April 2019)

    Android Studio 3.4 merupakan rilis utama yang menyertakan berbagai penyempurnaan dan fitur baru.

    3.4.2 (Juli 2019)

    Update minor ini menyertakan berbagai perbaikan bug dan penyempurnaan performa. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

    3.4.1 (Mei 2019)

    Update minor ini menyertakan berbagai perbaikan bug dan penyempurnaan performa. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

    Masalah umum 3.4.0

    • Pembuatan profil dinonaktifkan saat men-deploy aplikasi ke perangkat yang menjalankan Android Q Beta.

    • Saat menggunakan Library Data Binding, LiveDataListener.onChanged() mungkin gagal dengan NPE. Perbaikan untuk masalah ini akan disertakan dalam Android Studio 3.4.1 dan sudah tersedia di Versi pratinjau Android Studio 3.5 terbaru. (Lihat masalah #122066788)

    IntelliJ IDEA 2018.3.4

    Android Studio IDE inti telah diupdate dengan penyempurnaan dari IntelliJ IDEA melalui rilis 2018.3.4.

    Update plugin Gradle Android 3.4.0

    Untuk mendapatkan informasi tentang hal yang baru dalam plugin Gradle Android 3.4.0, lihat catatan rilis.

    Dialog Project Structure Baru

    PSD (Dialog Project Structure) baru memudahkan dalam memperbarui dependensi serta mengonfigurasi beragam aspek project, seperti modul, varian build, konfigurasi penandatanganan, dan variabel build.

    Anda dapat membuka PSD dengan memilih File > Project Structure dari panel menu. Anda juga dapat membuka PSD dengan menekan Ctrl+Shift+Alt+S di Windows dan Linux, atau Command+; (titik koma) di macOS. Anda dapat menemukan deskripsi beberapa bagian PSD yang diperbarui di bawah ini.

    Variabel

    Bagian variabel baru PSD memungkinkan Anda membuat dan mengelola berbagai variabel build, seperti variabel yang menjaga nomor versi untuk dependensi tetap konsisten di seluruh project.

    • Lihat dan edit dengan cepat variabel build yang sudah ada dalam skrip build Gradle project.
    • Tambahkan variabel build baru pada level project atau modul langsung dari PSD.

    Modul

    Konfigurasikan properti yang diterapkan pada semua varian build dalam modul yang ada atau tambahkan modul baru ke project dari bagian Modules. Misalnya, di sini Anda dapat mengonfigurasi properti defaultConfig atau mengelola konfigurasi penandatanganan.

    Dependensi

    Periksa dan visualisasikan setiap dependensi di grafik dependensi project, sebagaimana di-resolve oleh Gradle saat sinkronisasi project berlangsung, dengan mengikuti langkah-langkah berikut:

    1. Di panel kiri PSD, pilih Dependencies.
    2. Di panel Modules, pilih modul yang dependensi yang telah di-resolve-nya ingin diperiksa.
    3. Di sisi kanan PSD, buka panel Resolved Dependencies yang ditunjukkan di bawah ini.

    Anda juga dapat dengan cepat menelusuri dan menambahkan dependensi ke project dengan terlebih dahulu memilih modul dari bagian Dependencies PSD, mengklik tombol (+) di bagian Declared Dependencies, lalu memilih jenis dependensi yang ingin ditambahkan.

    Bergantung pada jenis dependensi yang dipilih, Anda akan melihat dialog seperti yang ada di bawah ini, yang membantu Anda menambahkan dependensi ke modul.

    Varian Build

    Di bagian PSD ini, buat dan konfigurasikan varian build serta ragam produk untuk setiap modul dalam project. Anda dapat menambahkan placeholder manifes dan file ProGuard, serta menetapkan kunci penandatanganan, dan lainnya.

    Saran

    Lihat update yang disarankan untuk dependensi project dan variabel build di bagian Suggestions, sebagaimana ditunjukkan di bawah ini.

    Resource Manager Baru

    Resource Manager adalah jendela alat baru untuk mengimpor, membuat, mengelola, dan menggunakan resource di aplikasi. Anda dapat membuka jendela alat dengan memilih View > Tool Windows > Resource Manager dari panel menu. Resource Manager memungkinkan Anda melakukan hal berikut:

    • Memvisualisasikan resource: Anda dapat melihat pratinjau drawable, warna, dan tata letak untuk menemukan resource yang diperlukan dengan cepat.
    • Impor massal: Anda dapat mengimpor beberapa aset drawable sekaligus dengan menarik lalu melepas aset ke jendela alat Resource Manager atau menggunakan wizard Import drawables. Untuk mengakses wizard tersebut, pilih tombol (+) di pojok kiri atas jendela alat, lalu pilih Import Drawables dari menu drop-down.
    • Mengonversi SVG menjadi objek VectorDrawable: Anda dapat menggunakan wizard Import Drawables untuk mengonversi gambar SVG ke dalam objek VectorDrawable.
    • Menarik lalu melepas aset: Dari jendela alat Resource Manager, Anda dapat menarik lalu melepas drawable ke tampilan desain dan XML di Layout Editor.
    • Melihat versi alternatif: Kini Anda dapat melihat versi alternatif resource dengan mengklik dua kali resource dalam jendela Tool. Tampilan ini menunjukkan berbagai versi yang telah Anda buat dan penentu yang disertakan.
    • Tampilan kotak dan daftar: Anda dapat mengubah tampilan dalam jendela alat untuk memvisualisasikan resource dalam susunan yang berbeda.

    Untuk mempelajari lebih lanjut, baca panduan tentang cara Mengelola resource aplikasi.

    Memeriksa ID build saat pembuatan profil dan proses debug APK

    Setelah Anda memberikan file simbol debug untuk library bersama .so dalam APK, Android Studio akan memverifikasi bahwa ID build file simbol yang diberikan cocok dengan ID build dari library .so dalam APK.

    Jika Anda mem-build library native di APK dengan ID build, Android Studio akan memeriksa apakah ID build dalam file simbol cocok dengan ID build dalam library native, dan akan menolak file simbol jika tidak cocok. Jika Anda tidak mem-build menggunakan ID build, memberikan file simbol yang salah dapat menyebabkan masalah saat proses debug.

    R8 diaktifkan secara default

    R8 mengintegrasikan desugaring, penyingkatan, obfuscation, pengoptimalan, dan dexing dalam satu langkah, sehingga menghasilkan peningkatan performa build yang cukup signifikan. R8 diperkenalkan dalam plugin Android Gradle 3.3.0 dan kini diaktifkan secara default untuk aplikasi dan project library Android yang menggunakan plugin 3.4.0 dan yang lebih tinggi.

    Gambar di bawah ini memberikan ringkasan umum tentang proses kompilasi sebelum R8 diperkenalkan.

    Sebelum R8, ProGuard adalah langkah kompilasi yang berbeda dari dexing dan
          desugaring.

    Dengan R8, kini desugaring, penyingkatan, obfuscation, pengoptimalan, dan dexing (D8) dapat diselesaikan dalam satu langkah, sebagaimana diilustrasikan di bawah ini.

    Dengan R8, desugaring, penyingkatan, obfuscation, pengoptimalan, dan dexing
          dilakukan dalam satu langkah kompilasi.

    Perlu diingat bahwa R8 dirancang agar kompatibel dengan aturan ProGuard yang ada, sehingga Anda mungkin tidak perlu mengambil tindakan apa pun untuk mendapatkan manfaat dari R8. Namun, karena teknologinya berbeda dengan ProGuard yang secara khusus dirancang untuk project Android, penyingkatan dan pengoptimalan dapat menyebabkan penghapusan kode yang mungkin tidak dilakukan ProGuard. Jadi, dalam situasi yang jarang terjadi ini, Anda mungkin perlu menambahkan aturan lain untuk menjaga kode tersebut pada output build Anda.

    Jika mengalami masalah saat menggunakan R8, baca FAQ kompatibilitas R8 untuk memeriksa apakah ada solusi untuk masalah Anda. Jika solusi tidak terdokumentasi, harap laporkan bug. Anda dapat menonaktifkan R8 dengan menambahkan salah satu baris berikut ke file gradle.properties project:

    # Disables R8 for Android Library modules only.
    android.enableR8.libraries = false
    # Disables R8 for all modules.
    android.enableR8 = false
    

    Semua jenis argumen yang didukung oleh komponen Navigation kini didukung di Navigation Editor. Untuk informasi selengkapnya tentang jenis yang didukung, lihat Meneruskan data antar-tujuan.

    Penyempurnaan Layout Editor

    Panel Attributes di Layout Editor telah disederhanakan menjadi satu halaman dengan bagian yang dapat diluaskan untuk menampilkan atribut yang dapat dikonfigurasi. Panel Attributes juga menyertakan pembaruan berikut:

    • Bagian Declared Attributes baru mencantumkan atribut yang ditentukan file tata letak dan memungkinkan Anda menambahkan atribut baru dengan cepat.
    • Panel Attributes kini juga menampilkan indikator di samping setiap atribut, yaitu solid jika nilai atribut merupakan referensi resource dan kosong jika sebaliknya.
    • Atribut yang memiliki error atau peringatan kini ditandai. Sorotan berwarna merah menunjukkan error (misalnya, saat Anda menggunakan nilai tata letak yang tidak valid) dan sorotan berwarna oranye menunjukkan peringatan (misalnya, saat Anda menggunakan nilai hard code).

    Tindakan intent baru untuk mengimpor dependensi dengan cepat

    Jika Anda mulai menggunakan class Jetpack dan Firebase tertentu dalam kode, tindakan intent baru akan menyarankan penambahan dependensi library Gradle yang diperlukan ke project, jika Anda belum melakukannya. Misalnya, jika Anda mereferensikan class WorkManager tanpa mengimpor dependensi android.arch.work:work-runtime yang diperlukan terlebih dahulu, tindakan intent memudahkan Anda melakukannya dengan sekali klik, sebagaimana ditunjukkan di bawah ini.

    Secara khusus, karena Jetpack memaketkan ulang library dukungan menjadi paket terpisah yang lebih mudah dikelola dan diperbarui, tindakan intent ini membantu Anda dengan cepat menambahkan hanya dependensi yang diperlukan untuk komponen Jetpack yang ingin digunakan.

    3.3 (Januari 2019)

    Android Studio 3.3 merupakan rilis utama yang menyertakan berbagai penyempurnaan dan fitur baru.

    3.3.2 (Maret 2019)

    Update minor ini menyertakan berbagai perbaikan bug dan penyempurnaan performa. Untuk melihat daftar perbaikan bug penting, baca postingan terkait di blog Update Rilis.

    3.3.1 (Februari 2019)

    Update minor ini menyertakan berbagai perbaikan bug dan penyempurnaan performa.

    IntelliJ IDEA 2018.2.2

    Android Studio IDE inti telah diupdate dengan penyempurnaan dari IntelliJ IDEA melalui rilis 2018.2.2.

    Update plugin Android Gradle

    Untuk mendapatkan informasi tentang hal yang baru dalam plugin Android Gradle, lihat catatan rilis.

    Navigation Editor memungkinkan Anda dengan cepat memvisualisasikan dan mem-build navigasi untuk aplikasi menggunakan Komponen Arsitektur Navigasi.

    Untuk mengetahui informasi selengkapnya, lihat Mengimplementasikan navigasi dengan Komponen Arsitektur Navigasi.

    Menghapus direktori Android Studio yang tidak digunakan

    Saat Anda menjalankan versi utama Android Studio untuk pertama kalinya, Android Studio akan mencari direktori yang berisi cache, setelan, indeks, dan log untuk versi Android Studio yang penginstalan terkaitnya tidak dapat ditemukan. Dialog Delete Unused Android Studio Directories kemudian akan menampilkan lokasi, ukuran, dan waktu perubahan terakhir direktori yang tidak digunakan tersebut dan memberikan opsi untuk menghapusnya.

    Direktori yang dipertimbangkan untuk dihapus oleh Android Studio tercantum di bawah ini:

    • Linux: ~/.AndroidStudio[Preview]_X.Y_
    • Mac: ~/Library/{Preferences, Caches, Logs, Application Support}/AndroidStudio[Preview]_X.Y_
    • Windows: %USER%\.AndroidStudio[Preview]_X.Y_

    Penyempurnaan lint

    Performa lint saat dipanggil dari Gradle menjadi jauh lebih cepat. Lint dapat berjalan hingga empat kali lebih cepat untuk project yang lebih besar.

    Wizard Create New Project

    Wizard Create New Project memiliki tampilan baru dan berisi pembaruan yang membantu menyederhanakan pembuatan project Android Studio baru.

    Untuk mengetahui informasi selengkapnya, lihat Membuat project.

    Update profiler

    Android Studio 3.3 menyertakan update untuk beberapa profiler individual.

    Peningkatan performa

    Berdasarkan masukan pengguna, performa rendering saat menggunakan profiler telah meningkat secara signifikan. Terus berikan masukan, terutama jika Anda mengalami masalah performa yang berkelanjutan.

    Opsi pelacakan alokasi memori profiler

    Untuk meningkatkan performa aplikasi saat membuat profil, kini Memori Profiler akan secara berkala mengambil sampel alokasi memori secara default. Jika ingin, Anda dapat mengubah perilaku ini menggunakan drop-down Allocation Tracking saat menguji perangkat yang menjalankan Android 8.0 (API level 26) atau yang lebih tinggi.

    Dengan drop-down Allocation Tracking, Anda dapat memilih mode berikut:

    • Full: merekam semua alokasi memori objek. Perlu diketahui jika Anda memiliki aplikasi yang mengalokasikan banyak objek, mungkin akan terjadi masalah performa yang signifikan saat membuat profil.
    • Sampled: merekam sampel alokasi memori objek secara berkala. Ini merupakan perilaku default dan tidak terlalu berdampak terhadap performa aplikasi saat membuat profil. Anda mungkin akan mengalami sejumlah masalah performa pada aplikasi yang mengalokasikan banyak objek dalam jangka waktu singkat.
    • Off: menonaktifkan alokasi memori. Jika belum dipilih, mode ini akan otomatis diaktifkan saat mengambil rekaman CPU, lalu dikembalikan ke setelan sebelumnya setelah perekaman selesai. Anda dapat mengubah perilaku ini di dialog konfigurasi perekaman aktivitas CPU.

      Pelacakan memengaruhi objek Java dan referensi JNI.

    Memeriksa data rendering frame

    Di CPU Profiler, kini Anda dapat memeriksa waktu yang dibutuhkan aplikasi Java untuk merender setiap frame pada UI thread utama dan RenderThread. Data ini mungkin berguna untuk menyelidiki bottleneck yang menyebabkan jank pada UI dan frekuensi gambar rendah. Misalnya, setiap frame yang memerlukan waktu lebih dari 16 md untuk menjaga kestabilan frekuensi gambar akan ditampilkan dengan warna merah.

    Untuk melihat data rendering frame, rekam aktivitas menggunakan konfigurasi yang memungkinkan Anda melacak panggilan sistem (Trace System Calls). Setelah merekam aktivitas, cari info tentang setiap frame di sepanjang linimasa untuk perekaman pada bagian yang disebut FRAMES, sebagaimana ditunjukkan di bawah ini.

    Untuk mempelajari penyelidikan dan perbaikan masalah frekuensi gambar lebih lanjut, baca Rendering lambat.

    Fragmen di linimasa peristiwa

    Linimasa peristiwa kini menunjukkan waktu fragmen dilampirkan dan dilepas. Selain itu, saat Anda mengarahkan kursor ke sebuah fragmen, tooltip akan menampilkan status fragmen tersebut.

    Melihat teks berformat untuk payload koneksi di Network Profiler

    Sebelumnya, Network Profiler hanya menampilkan teks mentah dari payload koneksi. Android Studio 3.3 kini memformat jenis teks tertentu secara default, termasuk JSON, XML, dan HTML. Di tab Response dan Request, klik link View Parsed untuk menampilkan teks berformat, lalu klik link View Source untuk menampilkan teks mentah.

    Untuk mengetahui informasi selengkapnya, lihat Memeriksa traffic jaringan dengan Network Profiler.

    Mendownload otomatis komponen SDK

    Jika project membutuhkan komponen SDK dari platform SDK, NDK, atau CMake, kini Gradle akan mencoba untuk otomatis mendownload paket yang diperlukan asalkan sebelumnya Anda telah menyetujui semua perjanjian lisensi terkait menggunakan SDK Manager.

    Untuk mengetahui informasi selengkapnya, lihat Mendownload otomatis paket yang tidak ada dengan Gradle.

    Dukungan untuk Clang-Tidy

    Kini Android Studio mendukung analisis kode statis menggunakan Clang-Tidy untuk project yang menyertakan kode native. Guna mengaktifkan dukungan untuk Clang-Tidy, update NDK ke versi r18 atau yang lebih tinggi.

    Kemudian, Anda dapat mengaktifkan atau mengaktifkan kembali pemeriksaan ini dengan membuka dialog Settings atau Preferences, lalu memilih Editor > Inspections > C/C++ > General > Clang-Tidy. Saat memilih pemeriksaan ini pada dialog Settings atau Preferences, Anda juga dapat melihat daftar pemeriksaan Clang-Tidy yang diaktifkan dan dinonaktifkan di bagian Option pada panel paling kanan. Untuk mengaktifkan pemeriksaan tambahan, tambahkan pemeriksaan ke daftar, lalu klik Apply.

    Untuk mengonfigurasi Clang-Tidy dengan opsi tambahan, klik Configure Clang-Tidy Checks Options, lalu tambahkan opsi pada dialog yang terbuka.

    Penghapusan opsi untuk penyesuaian C++

    Opsi berikut telah dihapus dari dialog Customize C++ Support:

    • Exceptions Support (-fexceptions)
    • Runtime Type Information Support (-ftti)

    Masing-masing perilaku diaktifkan untuk semua project yang dibuat melalui Android Studio.

    CMake versi 3.10.2

    CMake versi 3.10.2 kini disertakan dalam SDK Manager. Perlu diketahui bahwa secara default, Gradle masih menggunakan versi 3.6.0.

    Untuk menentukan versi CMake yang akan digunakan Gradle, tambahkan berikut ini ke file build.gradle modul:

    android {
        ...
        externalNativeBuild {
            cmake {
                ...
                version "3.10.2"
            }
        }
    }
    

    Untuk informasi selengkapnya tentang cara mengonfigurasi CMake dalam build.gradle, lihat Mengonfigurasi Gradle secara manual.

    Sintaksis "+" baru untuk menentukan versi CMake minimum

    Saat menentukan versi CMake dalam file build.gradle modul utama, kini Anda dapat menambahkan “+” untuk mencocokkan perilaku perintah cmake_minimum_required() CMake.

    Android App Bundle kini mendukung Aplikasi Instan

    Kini Android Studio memungkinkan Anda mem-build Android App Bundle dengan dukungan penuh untuk Google Play Instan. Dengan kata lain, kini Anda dapat mem-build dan men-deploy aplikasi terinstal serta pengalaman instan dari satu project Android Studio dan menyertakannya dalam satu Android App Bundle.

    Jika membuat project Android Studio baru menggunakan dialog Create New Project, pastikan Anda mencentang kotak di samping Configure your project > This project will support instant apps. Selanjutnya, Android Studio akan membuat project aplikasi baru seperti biasanya, tetapi menyertakan properti berikut dalam manifes untuk menambahkan dukungan Aplikasi instan ke modul dasar aplikasi:

    <manifest ... xmlns:dist="http://schemas.android.com/apk/distribution">
        <dist:module dist:instant="true" />
        ...
    </manifest>
    

    Kemudian, Anda dapat membuat modul fitur yang diaktifkan secara instan dengan memilih File > New > New Module dari panel menu, lalu memilih Instant Dynamic Feature Module dari dialog Create New Module. Perlu diingat bahwa dengan membuat modul ini, modul dasar aplikasi Anda juga diaktifkan secara instan.

    Untuk men-deploy aplikasi sebagai pengalaman instan di perangkat lokal, edit konfigurasi run, lalu centang kotak di sebelah General > Deploy as instant app.

    Sinkronisasi project varian tunggal

    Menyinkronkan project dengan konfigurasi build merupakan langkah penting yang akan memungkinkan Android Studio memahami struktur project. Namun, untuk project besar, proses ini dapat memakan waktu lama. Jika project menggunakan beberapa varian build, kini Anda dapat mengoptimalkan sinkronisasi project dengan membatasinya hanya ke varian yang saat ini dipilih.

    Anda harus menggunakan Android Studio 3.3 atau yang lebih tinggi dengan plugin Android Gradle 3.3.0 atau yang lebih tinggi untuk mengaktifkan pengoptimalan ini. Jika memenuhi persyaratan ini, IDE akan meminta Anda mengaktifkan pengoptimalan ini saat menyinkronkan project. Pengoptimalan juga diaktifkan secara default pada project baru.

    Untuk mengaktifkan pengoptimalan ini secara manual, klik File > Settings > Experimental > Gradle (Android Studio > Preferences > Experimental > Gradle di Mac), lalu centang kotak Only sync the active variant.

    Untuk informasi selengkapnya, lihat Mengaktifkan sinkronisasi project varian tunggal.

    Memberikan masukan cepat

    Jika memilih membagikan statistik penggunaan untuk membantu menyempurnakan Android Studio, Anda akan melihat dua ikon baru ini pada status bar di bagian bawah jendela IDE:

    Cukup klik ikon yang paling mewakili pengalaman Anda saat ini dengan IDE. Setelah melakukannya, IDE akan mengirimkan statistik penggunaan agar tim Android Studio dapat lebih memahami pengalaman Anda. Dalam kasus tertentu, misalnya saat melaporkan pengalaman negatif dengan IDE, Anda akan diberi kesempatan untuk memberikan masukan tambahan.

    Jika belum melakukannya, Anda dapat mengaktifkan berbagi statistik penggunaan dengan membuka dialog Settings (Preferences di Mac), memilih Appearance & Behavior > System Settings > Data Sharing, lalu mencentang Send usage statistics to Google.

    3.2 (September 2018)

    Android Studio 3.2 merupakan rilis utama yang menyertakan berbagai penyempurnaan 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.
    • Dalam library Navigation, nama jenis argumen telah diganti 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 pada data binding menyebabkan PsiInvalidElementAccessException.
      • Elemen <merge> terkadang menyebabkan Layout Editor error.

    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 hang, 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 ditetapkan ke true, Anda harus menyertakan berikut ini dalam setiap file build.gradle modul:

      android.buildToolsVersion "28.0.3"

    Asisten Yang Baru

    Asisten baru menginformasikan perubahan terbaru di Android Studio.

    Asisten ini terbuka saat Anda memulai Android Studio setelah melakukan penginstalan baru atau mengupdate 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 dan memungkinkan Anda membuat aplikasi berkualitas tinggi yang dapat diuji dengan lebih cepat dan mudah. Android Studio menyertakan pembaruan berikut untuk mendukung Jetpack. Untuk informasi lebih lanjut, 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 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 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 tanda ini tidak ada, Android Studio akan berperilaku seolah tanda ini ditetapkan ke false.
    • android.enableJetifier: Jika ditetapkan ke true, tanda 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 tanda ini tidak ada, Android Studio akan berperilaku seolah tanda ini ditetapkan ke false.

    Kedua tanda ditetapkan 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, tetapi menangguhkan pembuatan dan 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 mem-build, 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 mem-build 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 tampilan, tombol akan muncul di bawah tampilan tersebut pada jendela Design. Klik tombol ini untuk menetapkan 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, lalu pilih pilihan dari carousel template data sampel.

    Slice

    Slice menyediakan cara baru untuk menyematkan bagian dari fungsi aplikasi di platform antarmuka pengguna lain di Android. Misalnya, dengan Slice, fungsi dan konten aplikasi dapat ditampilkan di saran Google Penelusuran.

    Android Studio 3.2 memiliki template bawaan untuk membantu Anda memperluas aplikasi dengan Slice Provider API baru, serta pemeriksaan lint baru untuk memastikan Anda mengikuti praktik terbaik saat menyusun Slice.

    Untuk memulai, klik kanan folder project, lalu 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 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 penyempurnaan dari IntelliJ IDEA melalui rilis 2018.1.6.

    Android profiler

    Coba 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 mengambil 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 memilih 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 menginstrumentasikan 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 tinggi.

    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 disempurnakan 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 diperbarui 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 baseline, dan lint akan memperingatkan jika Anda menjalankannya pada varian yang berbeda dengan yang digunakan untuk membuat baseline.

    Peningkatan pada pemeriksaan lint yang ada

    Android Studio 3.2 menyertakan banyak penyempurnaan 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 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 menggunakan Data Binding V2. Namun, perhatikan bahwa project yang menggunakan V1 tidak dapat menggunakan dependensi yang dikompilasi dengan V2.

    Desugaring D8

    Di Android Studio 3.1, kami mengintegrasikan langkah desugaring ke dalam alat D8 sebagai fitur eksperimental, sehingga mengurangi waktu build keseluruhan. Di Android Studio 3.2, desugaring dengan D8 diaktifkan secara default.

    Penyingkat kode baru

    R8 adalah alat baru untuk penyingkatan dan obfuscation kode yang menggantikan ProGuard. Anda dapat mulai menggunakan versi pratinjau R8 dengan menyertakan berikut ini dalam file gradle.properties project:

    android.enableR8 = true
    

    ABI default untuk multi-APK diubah

    Saat mem-build multi-APK yang masing-masing menargetkan ABI berbeda, plugin tidak lagi secara default menghasilkan APK untuk ABI berikut: mips, mips64, dan armeabi.

    Jika ingin mem-build APK yang menargetkan ABI ini, Anda harus menggunakan NDK r16b atau yang lebih rendah dan menentukan ABI dalam file build.gradle, seperti yang ditunjukkan di bawah ini:

    Groovy

    splits {
        abi {
            include 'armeabi', 'mips', 'mips64'
            ...
        }
    }
    

    Kotlin

    splits {
        abi {
            include("armeabi", "mips", "mips64")
            ...
        }
    }
    

    Fitur editor yang disempurnakan untuk file build CMake

    Jika Anda menggunakan CMake untuk menambahkan kode C dan C++ ke project, kini Android Studio menyertakan fitur editor yang disempurnakan untuk 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 buat dari project lokal. Dengan rilis ini, kini Anda juga dapat melihat dan memeriksa file header yang disertakan dengan dependensi library C/C++ eksternal yang diimpor ke project aplikasi.

    Jika Anda sudah memasukkan kode dan library C/C++ ke project, buka jendela Project di sebelah kiri IDE dengan memilih View > Tool Windows > Project dari menu utama, lalu pilih Android dari menu drop-down. Dalam direktori cpp, semua header yang ada dalam cakupan project aplikasi akan diatur dalam node include untuk setiap dependensi library C/C++ lokal, sebagaimana ditunjukkan di bawah ini.

    Multidex native diaktifkan secara default

    Android Studio versi sebelumnya mengaktifkan multidex native saat men-deploy versi debug aplikasi ke perangkat yang menjalankan Android API level 21 atau yang lebih tinggi. Sekarang, baik Anda men-deploy ke perangkat atau mem-build APK untuk dirilis, plugin Android untuk Gradle akan mengaktifkan multidex native untuk semua modul yang menetapkan minSdkVersion=21 atau yang lebih tinggi.

    AAPT2 dipindahkan ke repositori Maven Google

    Mulai dari 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 yang ditunjukkan di sini:

    Groovy

    buildscript {
        repositories {
            google() // here
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.0'
        }
    }
    allprojects {
        repositories {
            google() // and here
            jcenter()
        }
    }
    

    Kotlin

    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 mengatasi 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 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.

    Penyempurnaan emulator

    Sekarang Anda dapat menyimpan dan 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.

    Sekarang kontrol untuk menyimpan, memuat, dan mengelola snapshot AVD ada di tab Snapshots pada jendela Extended controls di emulator.

    Untuk mengetahui detailnya, lihat Snapshot.

    Untuk informasi tambahan tentang hal yang baru dan berubah di Emulator, lihat catatan rilis Emulator.

    3.1 (Maret 2018)

    Android Studio 3.1.0 merupakan rilis utama yang menyertakan berbagai penyempurnaan dan fitur baru.

    3.1.4 (Agustus 2018)

    Update untuk Android Studio 3.1 ini menyertakan perubahan dan perbaikan berikut:

    • Versi paket Kotlin saat ini adalah 1.2.50.
    • Project baru dibuat dengan kotlin-stdlib-jdk* artifacts, bukan dengan artefak kotlin-stdlib-jre* yang sudah tidak digunakan lagi.
    • Penguraian R8 aturan ProGuard telah ditingkatkan.
    • Bug berikut telah diperbaiki:
      • Gagal saat mencoba menjalankan class Main Kotlin dengan error: "Error: Could not find or load main class..."
      • R8 memasuki loop tanpa batas saat melakukan pengoptimalan tertentu.
      • Penggunaan perintah Rerun failed tests di jendela Run terkadang secara keliru menampilkan pesan "No tests were found".
      • D8 tidak menangani instance invoke-virtual dengan benar, sehingga menyebabkan error dengan VerifyError: invoke-super/virtual can't be used on private method
      • Compiler Data Binding bergantung pada versi lama com.android.tools:annotations. Kini compiler ini menggunakan anotasi alat dari project dasar jika tersedia.
      • Android Studio mengalami error saat transisi fragmen berlangsung jika menggunakan profiler.
      • Debugger mengalami error saat men-debug tata letak yang memiliki kotak teks.
      • D8 gagal membaca beberapa file ZIP dengan karakter khusus.

    3.1.3 (Juni 2018)

    Update untuk Android Studio 3.1 ini menyertakan perbaikan bug berikut:

    • Kebocoran memori menyebabkan Android Studio menjadi lambat dan tidak responsif setelah Anda menggunakan Layout Editor. Update ini menyertakan perbaikan untuk sebagian besar masalah tersebut. Kami berencana segera kembali merilis update untuk mengatasi kebocoran memori lainnya.
    • Beberapa aplikasi yang di-build dengan D8 mengalami error di sebagian tablet Verizon Ellipsis.
    • Penginstalan aplikasi yang di-build dengan D8 gagal disertai error INSTALL_FAILED_DEXOPT di perangkat yang menjalankan Android 5.0 atau 5.1 (API level 21 atau 22).
    • Sebagian aplikasi yang menggunakan library OkHttp dan di-build dengan D8 mengalami error di perangkat yang menjalankan Android 4.4 (API level 19).
    • Terkadang Android Studio gagal dimulai, dengan ProcessCanceledException saat inisialisasi class untuk com.intellij.psi.jsp.JspElementType.

    3.1.2 (April 2018)

    Update untuk Android Studio 3.1 ini menyertakan perbaikan bug berikut:

    • Dalam kasus tertentu, terjadi hang selama waktu yang tidak tentu saat keluar dari Android Studio.
    • Jika Instant Run diaktifkan, build yang dikonfigurasi dengan set sumber gagal dengan pesan berikut:

      "The SourceSet name is not recognized by the Android Gradle Plugin."

    • Jika Instant Run diaktifkan, build project Kotlin baru akan gagal saat dipicu oleh perintah Run.
    • Saat mengedit file build.gradle, terkadang ada penundaan yang terasa antara mengetik karakter hingga karakter muncul di layar.
    • Dalam sebagian project dengan modul atau dependensi eksternal yang berjumlah besar, terjadi kegagalan build saat proses dexing disertai pesan error berikut:

      "RejectedExecutionException: Thread limit exceeded replacing blocked worker"

    • Komputasi daftar DEX utama D8 tidak memperhitungkan sebagian pemanggilan reflektif.

    Update ini juga menyertakan perubahan yang membuat pemeriksaan lint dari Gradle menjadi jauh lebih cepat dalam skenario tertentu.

    3.1.1 (April 2018)

    Update untuk Android Studio 3.1 ini menyertakan perbaikan bug berikut:

    • Dalam kasus tertentu, saat project yang dibuat di Android Studio 3.0 dibuka untuk pertama kalinya di Android Studio 3.1, tugas Make yang menjalankan Gradle dihapus dari area Before launch dalam Run/Debug Configurations. Hasilnya, project tersebut tidak di-build saat tombol Run atau Debug diklik, yang kemudian menyebabkan kegagalan seperti men-deploy APK yang salah dan mengalami error saat menggunakan Instant Run.

      Untuk mengatasi masalah ini, Android Studio 3.1.1 menambahkan tugas Make yang menjalankan Gradle ke konfigurasi run untuk project yang tidak memiliki entri ini. Modifikasi ini terjadi setelah sinkronisasi Gradle pertama saat project dimuat.

    • Debugger mengalami error saat men-debug tata letak yang memiliki kotak teks jika pembuatan profil lanjutan diaktifkan.
    • Android Studio berhenti merespons setelah Anda mengklik Build Variants.
    • File AAR (Android archive) diekstrak dua kali, sekali saat proses sinkronisasi Gradle, dan sekali saat proses build Gradle.
    • Elemen tidak ditemukan pada sebagian vektor drawable yang diimpor dari file SVG.
    • Peringatan tentang penghentian penggunaan konfigurasi dependensi compile telah diperbarui dengan panduan terkait konfigurasi implementation dan api yang lebih baik. Untuk mengetahui detail tentang pengalihan dari penggunaan konfigurasi compile, lihat dokumentasi untuk konfigurasi dependensi baru.

    Coding/IDE

    IntelliJ 2017.3.3

    Android Studio IDE inti telah diupdate dengan penyempurnaan dari IntelliJ IDEA melalui rilis 2017.3.3. Penyempurnaan ini mencakup analisis alur kontrol yang lebih baik untuk koleksi dan string, peningkatan inferensi nullability, berbagai perbaikan cepat baru, serta masih banyak lagi.

    Untuk mengetahui detailnya, lihat catatan rilis JetBrains untuk IntelliJ IDEA versi 2017.2 dan 2017.3, serta catatan rilis JetBrains untuk update perbaikan bug.

    Penyempurnaan pengeditan SQL dengan Room

    Saat menggunakan library database Room, Anda dapat memanfaatkan beberapa peningkatan pada pengeditan SQL:

    • Pelengkapan kode dalam Query dapat mengidentifikasi tabel (entity), kolom, parameter kueri, alias, gabungan, sub-kueri, dan klausa WITH SQL.
    • Penandaan sintaksis SQL kini berfungsi.
    • Anda dapat mengklik kanan nama tabel dalam SQL dan mengganti namanya, yang juga akan menulis ulang kode Java atau Kotlin terkait (termasuk, misalnya, jenis nilai yang ditampilkan kueri). Penggantian nama ini berfungsi secara dua arah, sehingga mengganti nama class atau field Java akan menulis ulang kode SQL terkait.
    • Penggunaan SQL akan ditampilkan saat menggunakan Find usages (klik kanan, lalu pilih Find usages dari menu konteks).
    • Untuk melihat deklarasi entity SQL dalam kode Java atau Kotlin, tekan tombol Control (Command di Mac) sambil mengklik entity.

    Untuk mengetahui informasi tentang cara menggunakan SQL dengan Room, lihat Menyimpan data di database lokal menggunakan Room.

    Update untuk data binding

    Update ini menyertakan beberapa penyempurnaan untuk data binding:

    • Kini Anda dapat menggunakan objek LiveData sebagai kolom yang dapat diobservasi dalam ekspresi data binding. Class ViewDataBinding kini menyertakan metode setLifecycle() baru yang digunakan untuk mengamati objek LiveData.

    • Class ObservableField kini dapat menerima objek Observable lain dalam konstruktornya.

    • Anda dapat melihat pratinjau compiler inkremental baru untuk class data binding. Untuk mengetahui detail tentang compiler baru ini dan petunjuk untuk mengaktifkannya, lihat Compiler Data Binding V2.

      Manfaat compiler baru ini mencakup berikut ini:

      • Class ViewBinding dibuat oleh Plugin Android untuk Gradle sebelum compiler Java.

      • Library mempertahankan class binding yang dihasilkan saat aplikasi dikompilasi, bukan dibuat ulang setiap kalinya. Hal ini dapat meningkatkan performa secara signifikan untuk project multi-modul.

    Compiler dan Gradle

    D8 merupakan kompilator DEX default

    Kompilator D8 sekarang digunakan secara default untuk menghasilkan bytecode DEX.

    Kompilator DEX baru ini memiliki beberapa kegunaan, di antaranya:

    • Proses dexing yang lebih cepat
    • Penggunaan memori yang lebih rendah
    • Pembuatan kode telah disempurnakan (alokasi register yang lebih baik, tabel string yang lebih canggih)
    • Pengalaman proses debug yang lebih baik saat meninjau kode

    Anda tidak perlu membuat perubahan apa pun pada kode atau alur kerja pengembangan untuk mendapatkan manfaat ini, kecuali jika sebelumnya Anda menonaktifkan compiler D8 secara manual. Jika Anda menetapkan android.enableD8 ke false dalam gradle.properties, hapus tanda tersebut atau tetapkan ke true:

    android.enableD8=true
    

    Untuk mengetahui detailnya, lihat Compiler DEX baru.

    Desugaring inkremental

    Untuk project yang menggunakan fitur bahasa Java 8, desugaring inkremental diaktifkan secara default, sehingga dapat mengefisienkan waktu build.

    Desugaring mengonversi sugar sintaktis menjadi bentuk yang dapat diproses compiler secara lebih efisien.

    Anda dapat menonaktifkan desugaring inkremental dengan menetapkan berikut ini dalam file gradle.properties project:

    android.enableIncrementalDesugaring=false
    

    Jendela output yang disederhanakan

    Gradle Console telah diganti dengan jendela Build, yang memiliki tab Sync dan Build.

    Untuk mengetahui detail tentang cara menggunakan jendela Build baru yang telah disederhanakan, lihat Memantau proses build.

    Kumpulan update dan pengindeksan serentak

    Sinkronisasi Gradle dan proses pengindeksan IDE kini jauh lebih efisien, sehingga mengurangi waktu yang dihabiskan untuk banyak operasi pengindeksan yang tidak perlu.

    C++ dan LLDB

    Kami telah membuat banyak penyempurnaan performa dan kualitas dalam tahap coding, sinkronisasi, proses build, serta proses debug untuk pengembangan C++. Penyempurnaan ini mencakup:

    • Jika mengerjakan project C++ yang besar, Anda akan melihat penyempurnaan signifikan dalam mengurangi waktu yang dihabiskan untuk mem-build simbol. Waktu sinkronisasi juga jauh berkurang untuk project besar.

    • Performa saat mem-build dan menyinkronkan dengan CMake telah disempurnakan melalui penggunaan ulang hasil yang di-cache secara lebih agresif.

    • Penambahan pemformat ("pretty printer") untuk struktur data C++ lainnya menjadikan output LLDB lebih mudah dibaca.

    • Kini LLDB hanya berfungsi dengan Android 4.1 (API level 16) dan yang lebih tinggi.

    Kotlin

    Kotlin telah diupgrade ke versi 1.2.30

    Android Studio 3.1 menyertakan Kotlin versi 1.2.30.

    Kini kode Kotlin dianalisis dengan pemeriksaan lint command line

    Kini menjalankan lint dari command line akan menganalisis class Kotlin.

    Untuk setiap project tempat lint akan dijalankan, repositori Maven Google harus disertakan dalam file build.gradle level teratas. Repositori Maven sudah disertakan untuk project yang dibuat di Android Studio 3.0 dan yang lebih tinggi.

    Alat performa

    Mengambil sampel proses C++ native dengan CPU Profiler

    Kini CPU Profiler menyertakan konfigurasi default untuk merekam aktivitas dengan sampel dari thread native aplikasi. Anda dapat menggunakan konfigurasi ini dengan men-deploy aplikasi ke perangkat yang menjalankan Android 8.0 (API level 26) atau yang lebih tinggi, lalu memilih Sampled (Native) dari menu drop-down konfigurasi perekaman CPU Profiler. Setelah itu, rekam dan periksa aktivitas seperti yang biasa Anda lakukan.

    Anda dapat mengubah setelan default, seperti interval pengambilan sampel, dengan membuat konfigurasi perekaman.

    Untuk beralih kembali ke pelacakan thread Java, pilih konfigurasi Sampled (Java) atau Instrumented (Java).

    Memfilter aktivitas CPU, hasil alokasi memori, dan heap dump

    CPU Profiler dan Memory Profiler menyertakan fitur penelusuran yang memungkinkan Anda memfilter hasil dari perekaman pelacakan metode, alokasi memori, atau heap dump.

    Untuk melakukan penelusuran, klik Filter di pojok kanan atas panel, ketik kueri, lalu tekan Enter.

    Tips: Anda juga dapat membuka kolom penelusuran dengan menekan Control + F (Command + F di Mac).

    Pada tab Flame Chart di CPU Profiler, stack panggilan yang menyertakan metode terkait kueri penelusuran akan ditandai dan dipindahkan ke sisi kiri diagram.

    Untuk informasi selengkapnya tentang pemfilteran berdasarkan metode, class, atau nama paket, lihat Merekam dan memeriksa pelacakan metode.

    Tab Request di Network Profiler

    Kini Network Profiler dilengkapi tab Request yang memberikan detail tentang permintaan jaringan selama linimasa yang dipilih. Dalam versi sebelumnya, Network Profiler hanya memberikan informasi tentang respons jaringan.

    Thread View di Network Profiler

    Setelah memilih bagian linimasa di Network Profiler, Anda dapat memilih salah satu tab berikut untuk melihat detail selengkapnya tentang aktivitas jaringan selama jangka waktu tersebut:

    • Connection View: Memberikan informasi yang sama dengan versi Android Studio sebelumnya, yaitu mencantumkan file yang telah dikirim atau diterima selama bagian linimasa yang dipilih di seluruh thread CPU aplikasi. Untuk setiap permintaan, Anda dapat memeriksa ukuran, jenis, status, dan durasi transmisi.
    • Thread View: Menampilkan aktivitas jaringan setiap thread CPU aplikasi. Tampilan ini memungkinkan Anda memeriksa thread aplikasi yang menangani setiap permintaan jaringan.

    Layout Inspector

    Layout Inspector mendapatkan fitur baru, termasuk beberapa fungsi yang sebelumnya disediakan oleh alat Hierarchy Viewer dan Pixel Perfect yang tidak digunakan lagi:

    • Tombol zoom dan pintasan keyboard untuk menavigasi serta memeriksa tata letak
    • Overlay petak referensi
    • Kemampuan memuat gambar referensi dan menggunakannya sebagai overlay (berguna untuk membandingkan tata letak dengan tiruan UI)
    • Render subtree preview untuk memisahkan tampilan dalam tata letak yang kompleks

    Layout Editor

    Palette di Layout Editor mendapatkan banyak penyempurnaan:

    • Penataan ulang kategori untuk tampilan dan tata letak.
    • Kategori Common baru untuk tampilan dan tata letak, yang dapat ditambahkan dengan perintah Favorite.
    • Peningkatan penelusuran untuk tampilan dan tata letak.
    • Perintah baru untuk membuka dokumentasi tentang elemen tampilan atau tata letak tertentu.

    Anda dapat menggunakan perintah Convert view baru di Component tree atau editor desain untuk mengonversi tampilan atau tata letak ke jenis tampilan atau tata letak lain.

    Kini Anda dapat dengan mudah membuat batasan untuk item di dekat tampilan yang dipilih menggunakan tombol Create a connection baru pada pemeriksa tampilan di bagian atas jendela Attributes.

    Run dan Instant Run

    Perilaku opsi Use same selection for future launches pada dialog Select deployment target dibuat lebih konsisten. Jika opsi Use same selection diaktifkan, maka dialog Select deployment target hanya akan terbuka saat Anda pertama kali menggunakan perintah Run hingga perangkat yang dipilih tidak lagi terhubung.

    Saat menargetkan perangkat yang menjalankan Android 8.0 (API level 26) atau yang lebih tinggi, Instant Run dapat men-deploy perubahan pada resource tanpa menyebabkan aplikasi dimulai ulang. Hal ini memungkinkan karena resource dimuat dalam APK terpisah.

    Emulator

    Untuk detail tentang hal yang baru dan berubah di emulator sejak Android Studio 3.0, lihat catatan rilis Android Emulator dari versi 27.0.2 hingga versi 27.1.12.

    Penyempurnaan utamanya mencakup:

    • Snapshot Quick Boot untuk menyimpan status emulator dan memulai lebih cepat, dengan kemampuan menggunakan perintah Save now untuk menyimpan status mulai kustom.
    • Layar emulator tanpa jendela.
    • Image sistem untuk Android 8.0 (API level 26), Android 8.1 (API level 27), dan Android P Pratinjau Developer.

    Pengoptimalan antarmuka pengguna dan pengalaman pengguna

    Lebih banyak tooltip, pintasan keyboard, dan pesan yang membantu

    Kami telah menambahkan tooltip dan overlay pesan yang membantu di banyak tempat di Android Studio.

    Guna melihat pintasan keyboard untuk berbagai perintah, cukup tahan kursor mouse di atas tombol hingga tooltip muncul.

    Menu Tools > Android dihapus

    Menu Tools > Android telah dihapus. Perintah yang sebelumnya ada dalam menu ini telah dipindahkan.

    • Banyak perintah yang dipindahkan langsung ke menu Tools.
    • Perintah Sync project with gradle files dipindahkan ke menu File.
    • Perintah Device Monitor telah dihapus, seperti dijelaskan di bawah.

    Device Monitor tersedia dari command line

    Di Android Studio 3.1, peran Device Monitor tidak sebesar sebelumnya. Dalam banyak kasus, fungsi yang tersedia melalui Device Monitor kini disediakan oleh fitur baru yang lebih baik.

    Lihat dokumentasi Device Monitor untuk mendapatkan petunjuk tentang cara memanggil Device Monitor dari command line dan detail tentang alat yang tersedia melalui Device Monitor.

    3.0 (Oktober 2017)

    Android Studio 3.0.0 merupakan rilis utama yang menyertakan berbagai penyempurnaan dan fitur baru.

    Pengguna macOS: Jika mengupdate Android Studio versi yang lebih lama, Anda mungkin melihat dialog error update yang bertuliskan "Some conflicts were found in the installation area". Abaikan error ini, lalu klik Cancel untuk melanjutkan penginstalan.

    3.0.1 (November 2017)

    Ini merupakan update minor untuk Android Studio 3.0 yang menyertakan perbaikan bug umum dan penyempurnaan performa.

    Plugin Android untuk Gradle 3.0.0

    Plugin Android untuk Gradle baru menyertakan berbagai penyempurnaan dan fitur baru, tetapi terutama meningkatkan performa build untuk project yang memiliki banyak modul. Saat menggunakan plugin baru dengan project besar tersebut, Anda akan merasakan perubahan berikut:

    • Waktu konfigurasi build menjadi lebih cepat karena adanya resolusi dependensi baru yang tertunda.
    • Resolusi dependensi berdasarkan varian hanya untuk project dan varian yang sedang di-build.
    • Waktu build inkremental yang lebih cepat saat menerapkan perubahan sederhana pada kode atau resource.

    Versi ini juga menyertakan hal berikut:

    • Dukungan untuk Android 8.0.
    • Dukungan untuk proses build APK terpisah berdasarkan resource bahasa.
    • Dukungan untuk library Java 8 dan fitur bahasa Java 8 (tanpa compiler Jack).
    • Dukungan untuk Android Test Support Library 1.0 (Android Test Utility dan Android Test Orchestrator).
    • Peningkatan kecepatan ndk-build dan build cmake.
    • Peningkatan kecepatan sinkronisasi Gradle.
    • AAPT2 sekarang diaktifkan secara default.
    • Penggunaan ndkCompile kini lebih dibatasi. Sebagai gantinya, Anda harus beralih ke CMake atau ndk-build untuk mengompilasi kode native yang ingin dipaketkan ke dalam APK. Untuk mempelajari lebih lanjut, baca Melakukan migrasi dari ndkcompile.

    Untuk informasi selengkapnya tentang hal yang berubah, lihat catatan rilis Plugin Android untuk Gradle.

    Jika Anda sudah siap meng-upgrade ke plugin baru, lihat Melakukan migrasi ke Plugin Android untuk Gradle 3.0.0.

    Dukungan Kotlin

    Sebagaimana diumumkan di Google I/O 2017, bahasa pemrograman Kotlin kini secara resmi didukung di Android. Jadi, dengan rilis ini, Android Studio menyertakan dukungan bahasa Kotlin untuk pengembangan Android.

    Anda dapat menyertakan Kotlin ke dalam project dengan mengonversi file Java menjadi file Kotlin (klik Code > Convert Java File to Kotlin File) atau dengan membuat project baru yang mendukung Kotlin menggunakan wizard New Project.

    Untuk memulai, baca cara menambahkan Kotlin ke project.

    Dukungan fitur bahasa Java 8

    Kini Anda dapat menggunakan fitur bahasa Java 8 tertentu dan memakai library yang di-build dengan Java 8. Jack tidak lagi diperlukan, dan Anda harus menonaktifkan Jack terlebih dahulu untuk menggunakan dukungan Java 8 yang disempurnakan dan di-build di dalam toolchain default.

    Untuk memperbarui project agar mendukung toolchain bahasa Java 8 baru, update Source Compatibility dan Target Compatibility menjadi 1.8 pada dialog Project Structure (klik File > Project Structure). Untuk mempelajari lebih lanjut, baca cara menggunakan fitur bahasa Java 8.

    Android Profiler

    Android Profiler baru menggantikan alat Android Monitor serta menyediakan serangkaian suite alat baru untuk mengukur penggunaan CPU, memori, dan jaringan aplikasi secara real time. Anda dapat melakukan pelacakan metode berbasis sampel untuk mengukur waktu eksekusi kode, merekam heap dump, melihat alokasi memori, dan memeriksa detail file yang ditransmisikan melalui jaringan.

    Untuk membukanya, klik View > Tool Windows > Android Profiler (atau klik Android Profiler di toolbar).

    Linimasa peristiwa di bagian atas jendela ini menunjukkan peristiwa sentuhan, penekanan tombol, dan perubahan aktivitas, sehingga memberikan lebih banyak konteks untuk memahami peristiwa performa lainnya di linimasa.

    Dari linimasa ringkasan Android Profiler, klik linimasa CPU, MEMORY, atau NETWORK untuk mengakses alat profiler terkait.

    CPU Profiler

    CPU Profiler membantu Anda menganalisis penggunaan thread CPU oleh aplikasi dengan memicu aktivitas CPU sampel atau yang diinstrumentasi. Kemudian, Anda dapat memecahkan masalah performa CPU menggunakan berbagai tampilan data dan filter.

    Untuk mengetahui informasi selengkapnya, lihat panduan CPU Profiler.

    Memory Profiler

    Memory Profiler membantu Anda mengidentifikasi kebocoran memori dan churn memori yang dapat menyebabkan aplikasi tersendat, berhenti merespons, dan bahkan tidak bekerja. Memory Profiler menampilkan grafik real time tentang penggunaan memori aplikasi, sehingga memungkinkan Anda merekam heap dump, memaksa pembersihan sampah memori, dan melacak alokasi memori.

    Untuk mengetahui informasi selengkapnya, lihat panduan Memory Profiler.

    Network Profiler

    Network Profiler memungkinkan Anda memantau aktivitas jaringan aplikasi, memeriksa payload setiap permintaan jaringan, dan menautkan kembali ke kode yang menghasilkan permintaan jaringan.

    Untuk mengetahui informasi selengkapnya, lihat panduan Network Profiler.

    Pembuatan profil dan proses debug APK

    Android Studio kini memungkinkan Anda membuat profil dan men-debug APK apa pun tanpa harus mem-build-nya dari project Android Studio, dengan syarat APK di-build untuk mengaktifkan proses debug dan Anda memiliki akses ke simbol debug dan file sumber.

    Untuk memulai, klik Profile or debug APK dari layar Welcome Android Studio. Atau, jika Anda sudah membuka sebuah project, klik File > Profile or debug APK dari panel menu. Ini akan menampilkan file APK yang belum dipaketkan, tetapi tidak mendekompilasi kode. Jadi, untuk menambahkan titik henti sementara dan melihat pelacakan tumpukan dengan benar, Anda harus melampirkan file sumber Java dan simbol debug native.

    Untuk informasi selengkapnya, lihat Membuat Profil dan Men-debug APK yang Sudah Di-build Sebelumnya.

    Device File Explorer

    Device File Explorer baru memungkinkan Anda memeriksa sistem file perangkat yang terhubung, serta mentransfer file antara perangkat dan komputer. Device File Explorer menggantikan alat sistem file yang tersedia di DDMS.

    Untuk membukanya, klik View > Tool Windows > Device File Explorer.

    Untuk informasi selengkapnya, lihat panduan Device File Explorer.

    Dukungan Aplikasi Instan

    Dukungan baru untuk Aplikasi Instan Android memungkinkan Anda membuat Aplikasi Instan dalam project menggunakan dua jenis modul baru: modul Instant App dan modul Feature (keduanya mengharuskan Anda menginstal Instant Apps Development SDK).

    Android Studio juga menyertakan tindakan pemfaktoran ulang modularisasi baru guna membantu Anda menambahkan dukungan untuk Aplikasi Instan dalam project yang ada. Misalnya, jika Anda ingin memfaktorkan ulang project untuk menempatkan beberapa class dalam modul fitur Instant App, pilih class di jendela Project, lalu klik Refactor > Modularize. Pada dialog yang muncul, pilih modul tujuan class, lalu klik OK.

    Jika sudah siap menguji Aplikasi Instan, Anda dapat mem-build dan menjalankan modul Instant App pada perangkat yang terhubung dengan menentukan URL Aplikasi Instan di dalam opsi peluncuran konfigurasi run: Pilih Run > Edit Configurations, pilih modul Instant App, lalu tetapkan URL di bagian Launch Options.

    Untuk informasi selengkapnya, lihat Aplikasi Instan Android.

    Modul Android Things

    Template Android Things baru di wizard New Project dan New Module membantu Anda memulai pengembangan untuk perangkat IoT yang didukung Android.

    Untuk mengetahui informasi selengkapnya, lihat cara membuat project Android Things.

    Wizard Ikon Adaptif

    Image Asset Studio kini mendukung vektor drawable dan memungkinkan Anda membuat ikon peluncur adaptif untuk Android 8.0 sekaligus membuat ikon tradisional (ikon "Legacy") untuk perangkat yang lebih lama.

    Untuk memulai, klik kanan folder res dalam project, lalu klik New > Image Asset. Pada jendela Asset Studio, pilih Launcher Icons (Adaptive and Legacy) sebagai jenis ikon.

    Untuk informasi selengkapnya, baca Ikon Adaptif.

    Dukungan untuk resource font

    Untuk mendukung resource font baru di Android 8.0, Android Studio menyertakan pemilih resource font untuk membantu memaketkan font ke dalam aplikasi atau mengonfigurasi project agar mendownload font di perangkat (jika tersedia). Layout Editor juga dapat menampilkan pratinjau font pada tata letak.

    Untuk menggunakan font yang dapat didownload, pastikan perangkat atau emulator menjalankan Layanan Google Play v11.2.63 atau yang lebih tinggi. Untuk informasi selengkapnya, baca Font yang Dapat Didownload.

    Firebase App Indexing Assistant

    Firebase Assistant telah diperbarui dengan tutorial baru untuk menguji App Indexing. Untuk membuka Assistant ini, pilih Tools > Firebase. Kemudian pilih App Indexing > Test App Indexing.

    Tutorial ini menyertakan tombol baru untuk menguji pengindeksan konten publik dan pribadi:

    • Pada langkah 2, klik Preview search results untuk memverifikasi bahwa URL muncul dalam hasil Google Penelusuran.
    • Pada langkah 3, klik Check for errors untuk memverifikasi bahwa objek yang dapat diindeks di aplikasi telah ditambahkan ke indeks konten pribadi.

    App Links Assistant telah diupdate dengan kemampuan baru berikut:

    • Menambahkan pengujian URL untuk setiap pemetaan URL guna memastikan filter intent menangani URL asli.

      Anda juga dapat menentukan pengujian URL ini secara manual menggunakan tag <tools:validation> yang dijelaskan di bawah ini.

    • Membuat file Digital Asset Links dengan entri objek yang sesuai untuk mendukung Google Smart Lock, dan menambahkan tag <meta-data> asset_statements yang sesuai ke file manifes.

    Validator filter intent URL

    Android Studio kini mendukung tag khusus dalam file manifes yang memungkinkan Anda menguji URL filter intent. Tag ini sama dengan yang dapat dibuat App Links Assistant untuk Anda.

    Guna mendeklarasikan URL pengujian untuk filter intent, tambahkan elemen <tools:validation> beserta elemen <intent-filter> yang sesuai. Contoh:

    <activity ...>
        <intent-filter>
            ...
        </intent-filter>
        <tools:validation testUrl="https://www.example.com/recipe/1138" />
    </activity>
    

    Pastikan Anda juga menyertakan xmlns:tools="http://schemas.android.com/tools" dalam tag <manifest>.

    Jika salah satu URL pengujian tidak memenuhi definisi filter intent, error lint akan muncul. Error seperti ini masih memungkinkan Anda mem-build varian debug, tetapi akan merusak build rilis.

    Layout Editor

    Layout Editor telah diupdate dengan sejumlah penyempurnaan, termasuk berikut ini:

    • Tata letak dan ikon toolbar baru.
    • Tata letak baru di component tree.
    • Penyisipan tampilan tarik lalu lepas yang ditingkatkan.
    • Panel error baru di bawah editor, yang menunjukkan semua masalah dengan saran perbaikan (jika tersedia).
    • Berbagai penyempurnaan UI untuk proses build dengan ConstraintLayout, termasuk berikut ini:
      • Dukungan baru untuk membuat barrier.
      • Dukungan baru untuk membuat grup: Di toolbar, pilih Guidelines > Add Group (memerlukan ConstraintLayout 1.1.0 beta 2 atau yang lebih tinggi)
      • UI baru untuk membuat rantai: Pilih beberapa tampilan, lalu klik kanan dan pilih Chain.

    Layout Inspector

    Layout Inspector menyertakan penyempurnaan untuk memudahkan men-debug masalah pada tata letak aplikasi, termasuk mengelompokkan properti ke dalam kategori umum dan fungsi penelusuran baru di panel View Tree dan Properties.

    APK Analyzer

    Kini Anda dapat menggunakan APK Analyzer dari command line dengan alat apkanalyzer.

    APK Analyzer juga telah diupdate dengan pengoptimalan berikut:

    • Untuk APK yang di-build dengan ProGuard, Anda dapat memuat file pemetaan ProGuard yang menambahkan berbagai kemampuan ke penampil DEX, termasuk:
      • Node dicetak tebal untuk menunjukkan bahwa node tidak boleh dihapus saat menyingkat kode.
      • Tombol untuk menunjukkan node yang dihapus selama proses penyingkatan.
      • Tombol yang memulihkan nama asli node dalam tampilan hierarki yang di-obfuscate oleh ProGuard.
    • Penampil DEX kini menampilkan perkiraan dampak ukuran setiap paket, class, dan metode.
    • Opsi pemfilteran baru di bagian atas untuk menampilkan serta menyembunyikan field dan metode.
    • Dalam tampilan hierarki, node berupa referensi yang tidak didefinisikan dalam file DEX akan muncul dalam cetak miring.

    Untuk informasi selengkapnya, lihat Menganalisis Build dengan APK Analyzer.

    Pratinjau compiler DEX D8

    Android Studio 3.0 menyertakan compiler DEX baru yang opsional bernama D8. Nantinya compiler ini akan menggantikan compiler DX, tetapi kini Anda dapat memilih untuk menggunakan compiler D8 baru.

    Kompilasi DEX secara langsung memengaruhi waktu build aplikasi, ukuran file .dex, dan performa runtime. Jika compiler D8 yang baru dibandingkan dengan compiler DX saat ini, D8 akan mengompilasi lebih cepat dan menghasilkan file .dex yang lebih kecil, dengan performa runtime aplikasi yang sama atau lebih baik.

    Untuk mencobanya, tetapkan berikut ini dalam file gradle.properties project:

    android.enableD8=true
    

    Untuk mengetahui informasi selengkapnya, lihat postingan blog tentang compiler D8.

    Repositori Maven Google

    Android Studio kini menggunakan Repositori Maven Google secara default dan tidak bergantung pada Android SDK Manager guna mendapatkan update untuk Android Support Library, Layanan Google Play, Firebase, serta dependensi lainnya. Hal ini memudahkan Anda terus memperbarui library, terutama saat menggunakan sistem continuous integration (CI).

    Semua project baru kini menyertakan repositori Maven Google secara default. Untuk mengupdate project yang ada, tambahkan google() dalam blok repositories file build.gradle level teratas:

    allprojects {
        repositories {
            google()
        }
    }
    

    Pelajari repositori Maven Google lebih lanjut di sini.

    Perubahan lainnya

    • Proses debug native dengan Android Studio tidak lagi mendukung Windows 32 bit. Kami telah memutuskan untuk fokus pada platform lainnya karena sangat sedikit developer yang menggunakan platform ini. Jika menggunakan Windows 32 bit dan berencana men-debug kode native, Anda harus tetap menggunakan Android Studio 2.3.
    • IDE dasar diupgrade ke IntelliJ 2017.1.2, yang menambahkan sejumlah fitur baru dari 2016.3 dan 2017.1, seperti pemfaktoran ulang bahasa Java 8, petunjuk parameter, penandaan semantik, titik henti sementara yang dapat ditarik, hasil penelusuran instan, dan masih banyak lagi.
    • Banyak pemeriksaan lint baru yang ditambahkan.
    • Lihat juga update Android Emulator terbaru.

    2.3 (Maret 2017)

    Android Studio 2.3.0 utamanya adalah rilis dengan perbaikan bug dan stabilitas, tetapi juga menyertakan sejumlah fitur baru.

    2.3.3 (Juni 2017)

    Ini adalah update minor yang menambahkan dukungan untuk Android O (API level 26).

    2.3.2 (April 2017)

    Ini adalah update minor Android Studio 2.3 untuk perubahan berikut:

    • AVD Manager diupdate agar mendukung Google Play di image sistem.
    • Perbaikan bug untuk build NDK saat menggunakan R14+ dari NDK.

    Lihat juga update terkait untuk Android Emulator 26.0.3.

    2.3.1 (April 2017)

    Ini adalah update minor untuk Android Studio 2.3 yang mengatasi masalah saat sebagian perangkat fisik Android tidak berfungsi sebagaimana mestinya dengan Instant Run (lihat Masalah #235879).

    Baru

    • Android Studio kini dapat mengonversi file PNG, BMP, JPG, dan GIF statis ke format WebP. WebP adalah format file gambar dari Google yang memberikan kompresi lossy (seperti JPEG) serta transparansi (seperti PNG), tetapi dapat memberikan kompresi yang lebih baik daripada JPEG atau PNG. Untuk informasi selengkapnya, lihat Mengonversi gambar ke WebP di Android Studio.
    • App Links Assistant baru menyederhanakan proses penambahan Android App Links ke aplikasi menjadi wizard langkah demi langkah. Link Aplikasi Android adalah URL HTTP yang mengarahkan pengguna langsung ke konten tertentu di aplikasi Android.
    • Layout Editor kini menyertakan dukungan untuk dua fitur ConstraintLayout baru:
      • Menentukan ukuran tampilan berdasarkan rasio lebar tinggi.
      • Membuat grup linear yang terisi, tersebar, dan berbobot dengan rantai batasan.
      Untuk informasi selengkapnya, lihat Mem-build UI yang Responsif dengan ConstraintLayout.
    • Kini Layout Editor juga memungkinkan Anda membuat daftar atribut favorit sehingga Anda tidak perlu mengklik View all attributes untuk mengakses atribut yang paling sering digunakan.
    • Saat menambahkan ikon material menggunakan Dialog Vector Import (File > New > Vector Asset), kini Anda dapat memfilter daftar ikon yang tersedia berdasarkan kategori atau nama ikon. Untuk informasi selengkapnya, lihat Menambahkan ikon material.
    • Anotasi baru dan yang diperbarui. Anotasi @RestrictTo baru untuk metode, class, dan paket memungkinkan Anda membatasi API. Anotasi @VisibleForTesting yang diperbarui kini memiliki argumen otherwise opsional yang memungkinkan Anda menentukan visibilitas suatu metode, atau membuatnya terlihat untuk pengujian. Lint menggunakan opsi otherwise untuk menerapkan visibilitas metode yang diinginkan.
    • Dukungan dasar pengukuran lint baru memungkinkan Anda menggunakan snapshot kumpulan peringatan saat ini pada project sebagai dasar pengukuran untuk menjalankan pemeriksaan di masa mendatang, sehingga hanya masalah baru yang dilaporkan. Snapshot dasar pengukuran memungkinkan Anda mulai menggunakan lint guna menggagalkan build untuk masalah baru tanpa harus kembali dan mengatasi semua masalah yang ada terlebih dahulu.
    • Pemeriksaan lint baru, termasuk berikut ini:
      • Pemeriksaan SDK_INT Usang: Android Studio menghapus kode pemeriksa versi SDK yang sudah usang.
      • Validasi Animator Objek: Lint menganalisis kode untuk memastikan bahwa ObjectAnimator memanggil metode dengan referensi yang valid dan tanda tangan yang benar serta memastikan bahwa metode tersebut telah diberi anotasi dengan @Keep agar ProGuard tidak mengganti nama atau menghapusnya selama build rilis.
      • Salinan Dekorator Item yang Tidak Diperlukan: Versi library RecyclerView yang lebih lama tidak menyertakan class dekorator pemisah, tetapi satu class disediakan sebagai sampel dalam demo dukungan. Versi terbaru library ini memiliki class dekorator pemisah. Lint akan mencari sampel lama dan menyarankan untuk menggantinya dengan yang baru.
      • Kebocoran WifiManager: Sebelum Android 7.0 (API level 24), inisialisasi WifiManager dengan Context.getSystemService() dapat menyebabkan kebocoran memori jika konteksnya bukan konteks aplikasi. Lint akan mencari inisialisasi tersebut, dan jika tidak dapat menentukan bahwa konteksnya adalah konteks aplikasi, Anda akan disarankan untuk menggunakan Context.getApplicationContext() guna mendapatkan konteks yang tepat untuk inisialisasi.
      • Penyempurnaan Prefiks Resource: Pemeriksaan lint resourcePrefix yang ada memiliki banyak keterbatasan. Kini Anda dapat mengonfigurasi project dengan prefiks, seperti android { resourcePrefix 'my_lib' }, dan lint akan memastikan bahwa semua resource menggunakan prefiks ini. Anda dapat menggunakan variasi nama untuk gaya dan tema. Misalnya, untuk prefiks my_lib, Anda dapat memiliki tema bernama MyLibTheme, myLibAttr, my_lib_layout, dan sebagainya.
      • Beralih ke WebP: Pemeriksaan ini mengidentifikasi gambar dalam project yang dapat dikonversi ke format WebP berdasarkan setelan minSdkVersion project. Quickfix terkait dapat otomatis mengonversi gambar, atau Anda dapat mengonversi gambar ke WebP secara manual.
      • WebP yang Tidak Aman: Jika project sudah menyertakan gambar WebP, pemeriksaan ini akan menganalisis project untuk memastikan bahwa setelan minSdkVersion cukup tinggi untuk mendukung gambar yang disertakan. Untuk informasi selengkapnya tentang dukungan WebP di Android dan Android Studio, lihat Browser apa saja yang mendukung WebP secara native? dan Membuat Gambar WebP Menggunakan Android Studio.

    Perubahan

    • Tombol terpisah untuk menerapkan perubahan dengan Instant Run: Setelah men-deploy aplikasi, sekarang klik Apply Changes untuk menerapkan perubahan inkremental dengan cepat ke aplikasi yang sedang berjalan menggunakan Instant Run. Tombol Run dan Debug selalu tersedia saat Anda ingin menerapkan perubahan dengan lancar dan memaksa aplikasi dimulai ulang.
      • Instant Run hanya didukung saat men-deploy aplikasi ke perangkat target yang menjalankan Android 5.0 (API level 21) atau yang lebih tinggi.
      • Instant Run tidak lagi dinonaktifkan untuk project yang menautkan ke project native eksternal menggunakan CMake atau ndk-build. Namun, Anda hanya dapat menggunakan Instant Run untuk menerapkan perubahan inkremental ke kode Java, bukan kode native.
      • Cold swap (yang dapat dipaksa untuk aplikasi yang sedang berjalan dengan mengklik Run ) kini lebih stabil. Memaksakan cold swap juga akan mengatasi masalah saat perubahan pada UI notifikasi dan widget tidak diperbarui di perangkat target.
      • Menyertakan pengoptimalan yang mempercepat peluncuran aplikasi. Pengoptimalan ini dapat memengaruhi pembuatan profil, sehingga Anda harus menonaktifkan Instant Run sementara saat membuat profil aplikasi.
    • Tombol AVD Manager dan SDK Manager kini disertakan dalam Navigation Bar ramping serta di Toolbar lengkap. Untuk menggunakan Navigation Bar ramping, klik View untuk membuka menu View, lalu pastikan Navigation Bar dipilih dan Toolbar tidak dipilih.

    • Debugger "Hybrid" telah berganti nama menjadi debugger "Dual".
    • Pada dialog Run/Debug Configurations, di bagian Defaults di panel kiri, nama konfigurasi run berikut telah diganti tanpa perubahan perilaku:
      • Nama JUnit telah diubah menjadi Android JUnit. Jika Anda memiliki project yang menggunakan konfigurasi run JUnit, konfigurasi tersebut diubah menjadi konfigurasi run Android JUnit saat Anda membuka project tersebut dengan Android Studio untuk pertama kalinya. Dialog akan muncul untuk memberi tahu Anda tentang perubahan nama tersebut.
      • Nama Android Tests telah diubah menjadi Android Instrumented Tests.
    • GPU Debugger telah dihapus dari Android Studio sejak versi 2.3. Versi open source mandiri alat ini kini tersedia di GitHub.
    • Opsi Run/Debug tidak lagi tersedia saat Anda mengklik kanan skrip *.gradle build.
    • Kini semua template menggunakan ConstraintLayout sebagai tata letak default.
    • Palet Widget di Layout Editor telah didesain ulang.

    Rilis ini juga menyertakan sejumlah perbaikan bug. Lihat semua perbaikan bug dalam 2.3.0.

    Masalah umum: Produsen perangkat tertentu memblokir aplikasi agar tidak otomatis diluncurkan setelah diinstal di perangkat. Saat men-deploy aplikasi ke perangkat fisik menggunakan Android Studio 2.3, batasan ini akan mengubah perilaku Instant Run yang diinginkan dan menyebabkan output error berikut: Error: Not found; no service started. Agar masalah ini tidak terjadi, gunakan emulator atau aktifkan peluncuran otomatis untuk aplikasi di setelan perangkat. Prosedur untuk melakukan hal ini berbeda untuk setiap perangkat, jadi periksa petunjuk yang diberikan oleh produsen. Untuk mempelajari masalah ini lebih lanjut, lihat Masalah #235879.

    2.2 (September 2016)

    2.2.3 (Desember 2016)

    Ini adalah update minor untuk Android Studio 2.2. Rilis ini menyertakan perbaikan bug yang fokus pada gradle, IDE inti, dan lint.

    Perubahan utama pada build:

    • Rollback versi ProGuard. Karena masalah ketepatan yang ditemukan di ProGuard 5.3.1, kami beralih kembali ke ProGuard 5.2.1. Kami telah bekerja sama dengan tim ProGuard untuk segera merilis perbaikan, dan kami berencana menggunakan ProGuard 5.3.2 di Android Studio 2.3 Canary 3.
    • Perbaikan bug untuk aaptOptions IgnoreAssetsPattern tidak berfungsi sebagaimana mestinya (masalah 224167)
    • Perbaikan bug download otomatis Gradle untuk library Constraint Layout (masalah 212128)
    • Perbaikan bug untuk compiler JDK8/Kotlin + masalah dx (masalah 227729)

    Lihat semua perbaikan bug dalam 2.2.3.

    2.2.2 (Oktober 2016)

    Ini adalah update minor untuk Android Studio 2.2. Rilis ini menyertakan sejumlah perubahan dan perbaikan bug kecil, termasuk:

    • Saat melaporkan masalah Instant Run melalui IDE, kini laporan juga menyertakan output logcat untuk peristiwa InstantRun. Untuk membantu kami menyempurnakan Instant Run, aktifkan logging tambahan dan laporkan setiap masalah.
    • Sejumlah perbaikan bug kecil untuk Gradle.
    • Perbaikan untuk masalah pembuatan banyak APK.

    2.2.1 (Oktober 2016)

    Ini adalah update minor untuk Android Studio 2.2. Rilis ini menyertakan beberapa perbaikan bug dan fitur baru untuk mengaktifkan logging tambahan guna membantu kami memecahkan masalah Instant Run. Untuk membantu kami menyempurnakan Instant Run, aktifkan logging tambahan dan laporkan setiap masalah.

    Baru

    • Layout Editor baru dengan alat yang dirancang khusus untuk mendukung ConstraintLayout.
    • Layout Inspector baru memungkinkan Anda memeriksa snapshot hierarki tata letak saat aplikasi Anda berjalan di emulator atau perangkat.
    • Jendela Assistant baru untuk membantu Anda mengintegrasikan layanan Firebase ke aplikasi.
    • Alat APK Analyzer baru agar Anda dapat memeriksa konten paket aplikasi.
    • Alat Espresso Test Recorder baru (saat ini dalam versi beta) untuk membantu membuat pengujian UI dengan merekam interaksi Anda sendiri.
    • Cache build baru (saat ini masih eksperimental) untuk mempercepat performa build.
    • Update integrasi build C/C ++ dengan CMake dan ndk-build. Mengompilasi dan mem-build kode native baru atau yang sudah ada ke dalam library yang dipaketkan ke APK, serta menjalankan debug menggunakan lldb. Untuk project baru, Android Studio menggunakan CMake secara default, tetapi juga mendukung ndk-build untuk project yang ada. Untuk mempelajari cara menyertakan kode native di aplikasi Android, baca Menambahkan Kode C dan C++ ke Project. Untuk mempelajari cara men-debug kode native dengan lldb, lihat Men-debug Kode Native.
    • Browser Contoh baru yang memudahkan Anda mencari kode contoh Android Google dari dalam Android Studio untuk memulai pengembangan aplikasi.
    • Penampil Manifes Gabungan baru untuk membantu Anda mendiagnosis penggabungan file manifes dengan dependensi aplikasi di seluruh varian build project.
    • Jendela Run kini berisi pesan log untuk aplikasi yang sedang berjalan. Perlu diketahui bahwa Anda dapat mengonfigurasi tampilan Monitor logcat, tetapi tidak untuk jendela Run.
    • Fitur Android Emulator baru:
      • Penambahan Virtual Sensors baru dan kontrol Cellular > Signal Strength.
      • Penambahan opsi LTE ke kontrol Cellular > Network type.
      • Penambahan simulasi geser vertikal untuk men-scroll pada menu vertikal dengan roda mouse.
    • Fitur baru Run/Debug Configuration:
      • Tab Debugger pada template Android App dan Android Tests kini memiliki beberapa opsi baru untuk proses debug dengan LLDB.
      • Tab Profiling pada template Android App dan Android Tests kini memiliki opsi Capture GPU Commands untuk mengaktifkan pelacakan GPU. Anda dapat menampilkan rekaman aktivitas GPU di GPU Debugger (fitur beta).
      • Template Android Tests kini memiliki opsi Firebase Test Lab Device Matrix untuk Deployment Target.
      • Template Native Application sudah tidak digunakan lagi. Jika Anda menggunakan template ini dalam project, Android Studio akan otomatis mengonversinya ke template Android App.
      • Template Android Application telah berganti nama menjadi Android App.
    • Penyempurnaan fitur penginstalan, konfigurasi, performa, dan UI di GPU Debugger (saat ini dalam versi beta).
    • Android Studio kini dilengkapi dengan OpenJDK 8. Project yang ada masih menggunakan JDK yang ditentukan di File > Project Structure > SDK Location. Anda dapat beralih menggunakan paket JDK baru dengan mengklik File > Project Structure > SDK Location, lalu mencentang kotak Use embedded JDK.
    • Penambahan menu dan tombol bantuan baru di UI agar Anda dapat lebih mudah menemukan dokumentasi online.

    Perubahan

    • Codebase IDE telah diperbarui dari IntelliJ 15 menjadi IntelliJ 2016.1
    • Kini Instant Run mengharuskan penginstalan SDK platform yang sesuai dengan level API perangkat target.
    • Instant Run akan otomatis dinonaktifkan jika pengguna menjalankan aplikasi dengan profil kerja atau sebagai pengguna sekunder.
    • Perbaikan berbagai masalah keandalan untuk Instant Run saat perubahan tidak di-deploy atau aplikasi tidak bekerja:
      • Beberapa aset aplikasi tidak di-deploy untuk aplikasi yang sedang berjalan. (Bug: #213454 )
      • Aplikasi mengalami error saat pengguna melakukan transisi antara sesi Instant Run dan non-Instant Run sementara serialVersionUID class Serializable tidak ditentukan. (Bug: #209006)
      • Perubahan gaya tidak diterapkan dengan Instant Run. (Bug: #210851)
      • Sesi Instant Run tidak stabil dan menyebabkan error FileNotFoundException. (Bug: #213083)
      • Perubahan pada drawable tidak diterapkan hingga proses build ulang penuh dilakukan untuk KitKat. (Bug: #21530)
      • Perubahan resource tidak diterapkan dengan Instant Run jika sourceSets kustom berisi jalur yang disarangkan. (Bug: #219145)
      • Hot swap dan warm swap tidak berfungsi jika class yang diubah berisi anotasi dengan nilai enum. (Bug: #209047)
      • Perubahan data anotasi tidak diterapkan dengan Instant Run. (Bug: #210089)
      • Instant Run tidak menerima perubahan kode jika Anda membuat perubahan di luar IDE. (Bug: #213205)
      • Sesi Instant Run tidak stabil karena token keamanan tidak cocok. (Bug: #211989
      • Cold swap gagal untuk perangkat yang tidak mendukung run-as dengan baik. (Bug: #210875)
      • Aplikasi tidak berfungsi setelah instant run dimulai ulang. (Bug: #219744)
      • ClassNotFoundException terjadi saat beralih dari Instant Run ke Instant Debug. (Bug: #215805)
    • Peningkatan performa untuk sinkronisasi Gradle dalam IDE, terutama untuk project besar.
    • Peningkatan efisiensi waktu build untuk build penuh dan inkremental dengan kode paket aplikasi baru.
    • Peningkatan performa dan fitur compiler Jack, termasuk dukungan untuk pemroses anotasi dan proses dexing. Untuk mempelajari lebih lanjut, baca catatan rilis plugin Android untuk Gradle 2.2.0.
    • Properti AVD Scale dihapus dari AVD Manager.
    • Opsi command line -port dan -ports Android Emulator kini melaporkan port serta nomor seri instance emulator yang digunakan, dan memperingatkan jika ada masalah dengan nilai yang diberikan.
    • Penyempurnaan dialog Create New Class dan template file terkait. Catatan: Jika sebelumnya telah menyesuaikan template file AnnotationType, Class, Enum, Interface, atau Singleton, template harus diubah agar sesuai dengan template baru atau Anda tidak akan dapat menggunakan kolom baru pada dialog Create New Class.
    • Penyempurnaan antarmuka pengguna Vector Asset Studio dan penambahan dukungan untuk file Adobe Photoshop Document (PSD).
    • Penyempurnaan antarmuka pengguna Image Asset Studio.
    • Penyempurnaan Pemilih Resource pada Theme Editor.
    • Perbaikan kebocoran memori dan pengurangan penggunaan memori secara keseluruhan di Android Studio.
    • Penambahan tombol Background di SDK Manager sehingga Anda dapat kembali bekerja dan menginstal paket di latar belakang.
    • Penyempurnaan fitur Aksesibilitas, termasuk dukungan untuk pembaca layar dan navigasi keyboard.
    • Penyempurnaan Analisis Kode mencakup pemeriksaan kualitas kode untuk penggunaan bahasa Java 8 dan peningkatan analisis lintas-file.
    • Beberapa ikon toolbar telah diubah.

    2.1 (April 2016)

    Perubahan utama dalam update ini menyediakan dukungan untuk pengembangan dengan Pratinjau Android N.

    2.1.3 (Agustus 2016)

    Update ini menambahkan kompatibilitas dengan Gradle 2.14.1, yang menyertakan penyempurnaan performa, fitur-fitur baru, dan perbaikan keamanan penting. Untuk detail selengkapnya, lihat catatan rilis Gradle.

    Secara default, project baru di Android Studio 2.1.3 menggunakan Gradle 2.14.1. Untuk project yang ada, IDE akan meminta Anda untuk mengupgrade ke Gradle 2.14.1 dan plugin Android untuk Gradle 2.1.3, yang diperlukan saat menggunakan Gradle 2.14.1 dan yang lebih tinggi.

    2.1.2 (Juni 2016)

    Update ini menyertakan sejumlah perubahan dan perbaikan bug kecil:

    • Update Instant Run dan perbaikan bug.
    • Penyempurnaan performa LLDB dan notifikasi error.
    • Perbaikan regresi dalam update keamanan Android Studio 2.1.1 yang menyebabkan git rebase gagal.

    2.1.1 (Mei 2016)

    Update rilis keamanan.

    Platform Android N menambahkan dukungan untuk fitur bahasa Java 8, yang memerlukan compiler eksperimental baru bernama Jack. Versi terbaru Jack saat ini hanya didukung di Android Studio 2.1. Jadi, jika ingin menggunakan fitur bahasa Java 8, Anda harus menggunakan Android Studio 2.1 untuk mem-build aplikasi.

    Catatan: Instant Run akan dinonaktifkan jika Anda mengaktifkan compiler Jack karena saat ini keduanya tidak kompatibel.

    Meskipun Android Studio 2.1 kini sudah stabil, compiler Jack masih dalam tahap eksperimental dan Anda harus mengaktifkannya dengan properti jackOptions dalam file build.gradle.

    Selain perubahan untuk mendukung Pratinjau N, Android Studio 2.1 menyertakan perbaikan bug minor dan penyempurnaan berikut:

    • Debugger C++ yang memahami Java kini diaktifkan secara default saat Anda menggunakan emulator atau perangkat N dan memilih mode debugger Native (di tab Debugger untuk konfigurasi run/debug).

    Untuk penyempurnaan build lainnya, termasuk kompilasi Java inkremental dan proses dexing, update plugin Android untuk Gradle ke versi 2.1.0.

    2.0 (April 2016)

    Catatan: Jika mengembangkan untuk N Pratinjau Developer, Anda harus menggunakan Android Studio 2.1 Pratinjau. Android Studio 2.0 tidak mendukung semua fitur yang diperlukan untuk menargetkan N Pratinjau.

    Instant Run:

    • Android Studio kini men-deploy clean build lebih cepat daripada sebelumnya. Selain itu, penerapan perubahan kode inkremental pada emulator atau perangkat fisik kini berlangsung dengan sangat cepat. Tinjau perubahan tanpa men-deploy ulang build debug baru atau, dalam banyak kasus, tanpa memulai ulang aplikasi.
    • Dukungan Instant Run menerapkan perubahan berikut pada aplikasi yang sedang berjalan:
      • Perubahan pada implementasi metode instance yang ada atau metode statis
      • Perubahan pada resource aplikasi yang ada
      • Perubahan pada kode struktural, seperti tanda tangan metode atau kolom statis (memerlukan perangkat target yang menjalankan API level 21 atau yang lebih tinggi).
    • Baca dokumentasinya untuk mempelajari Instant Run lebih lanjut.

      Catatan: Instant Run hanya didukung jika Anda men-deploy varian build debug, menggunakan plugin Android untuk Gradle versi 2.0.0 atau yang lebih tinggi, dan mengonfigurasi file build.gradle level modul aplikasi untuk minSdkVersion 15 atau yang lebih tinggi. Untuk mendapatkan performa terbaik, konfigurasikan aplikasi untuk minSdkVersion 21 atau yang lebih tinggi.

    Tambahan baru untuk Lint:

    • Pemeriksaan pernyataan switch menggunakan integer dengan anotasi @IntDef untuk memastikan semua konstanta ditangani. Untuk menambahkan pernyataan yang tidak ada dengan cepat, gunakan menu drop-down tindakan intent, lalu pilih Add Missing @IntDef Constants.
    • Tanda untuk upaya penggunaan interpolasi string yang salah untuk memasukkan nomor versi dalam file build.gradle.
    • Tanda untuk class anonim yang memperluas class Fragment.
    • Tanda untuk kode native di lokasi yang tidak aman, seperti folder res/ dan asset/. Tanda ini menyarankan agar kode native disimpan di folder libs/, yang kemudian dipaketkan dengan aman ke dalam folder data/app-lib/ aplikasi pada waktu penginstalan. AOSP: #169950
    • Tanda untuk panggilan yang tidak aman ke Runtime.load() dan pemanggilan System.load(). AOSP: #179980
    • Temukan dan hapus resource yang tidak digunakan dengan memilih Refactor > Remove Unused Resources dari panel menu. Deteksi resource yang tidak digunakan kini hanya mendukung resource yang direferensikan oleh resource yang tidak digunakan, referensi dalam file mentah seperti referensi gambar .html, serta atribut tools:keep dan tools:discard yang digunakan oleh penyingkat resource Gradle, dengan mempertimbangkan set sumber tidak aktif (seperti resource yang digunakan dalam ragam build lainnya) dan penanganan impor kolom statis dengan benar.
    • Memeriksa apakah referensi API implisit didukung di semua platform yang ditargetkan oleh minSdkVersion.
    • Memberi tanda penggunaan RecyclerView dan Parcelable yang tidak semestinya.
    • Pemeriksaan @IntDef, @IntRange, dan @Size kini juga memeriksa array dan vararg int.

    Penyempurnaan Lainnya:

    • Dioptimalkan untuk Android Emulator 2.0 yang lebih cepat dari sebelumnya, mendukung lebih banyak perangkat virtual, dan memiliki UI yang jauh lebih baik. Untuk mempelajari emulator baru ini lebih lanjut, baca catatan rilis SDK Tools.
    • Penyempurnaan untuk Pengelola Perangkat Virtual Android:
      • Image sistem kini dikategorikan dalam pada berikut: Recommended, x86, dan Other.
      • Di setelan lanjutan, Anda dapat mengaktifkan dukungan multi-core dan menentukan jumlah core yang dapat digunakan emulator.
      • Di setelan lanjutan, Anda dapat menentukan cara grafis dirender di emulator dengan memilih salah satu opsi berikut:
        • Hardware: menggunakan kartu grafis komputer agar proses rendering lebih cepat.
        • Software: menggunakan rendering berbasis software.
        • Auto: membiarkan emulator menentukan pilihan terbaik. Ini adalah setelan default.
    • Peningkatan efisiensi waktu pemaketan AAPT dengan menentukan target deploy sebelum aplikasi di-build. Hal ini memungkinkan Android Studio secara efisien memaketkan hanya resource yang diperlukan oleh perangkat yang ditentukan.
    • Penambahan integrasi Cloud Test Lab untuk menyediakan pengujian aplikasi on demand dengan kemudahan dan skalabilitas layanan cloud. Pelajari lebih lanjut cara menggunakan Cloud Test Lab dengan Android Studio.
    • Penambahan pratinjau GPU Debugger baru. Untuk aplikasi dengan grafik intensif, kini Anda dapat menyusuri kode OpenGL ES secara visual untuk mengoptimalkan aplikasi atau game.
    • Penambahan Pengujian Pengindeksan Aplikasi Google. Menambahkan dukungan URL, pengindeksan aplikasi, dan fungsi penelusuran ke aplikasi untuk membantu mengarahkan lebih banyak traffic ke aplikasi, menemukan konten aplikasi yang paling sering digunakan, dan menarik perhatian pengguna baru. Menguji dan memvalidasi URL di aplikasi dalam Android Studio. Lihat Mendukung URL dan Pengindeksan Aplikasi di Android Studio.
    • Meng-upgrade dari rilis terbaru IntelliJ 15, termasuk peningkatan performa dan analisis kode. Lihat Yang Baru di IntelliJ untuk penjelasan lengkap tentang penyempurnaan dan fitur baru.
    • Pelengkapan otomatis editor XML kini menambahkan tanda kutip saat melengkapi atribut. Untuk memeriksa apakah opsi ini diaktifkan, buka dialog Setting atau Preferences, klik Editor > General > Smart Keys, lalu centang kotak di samping Add quotes for attribute value on attribute completion. Masalah: 195113
    • Editor XML kini mendukung pelengkapan kode untuk ekspresi data binding.

    Rilis Sebelumnya