Android Studio Iguana | 2023.2.1

Android Studio adalah IDE resmi untuk pengembangan Android, dan dilengkapi semua hal yang Anda perlukan untuk membangun aplikasi Android.

Halaman ini mencantumkan fitur baru dan peningkatan dalam versi terbaru di saluran stabil, Android Studio Iguana. Anda dapat mendownloadnya di sini atau meng-updatenya di dalam Android Studio dengan mengklik Help > Check for updates (Android Studio > Check for updates di macOS)

Untuk melihat apa yang telah diperbaiki dalam versi Android Studio ini, lihat masalah yang ditutup.

Untuk melihat catatan rilis Android Studio versi lama, lihat Rilis sebelumnya.

Untuk akses awal ke fitur dan peningkatan mendatang, lihat build Pratinjau Android Studio.

Jika Anda mengalami masalah saat menggunakan Android Studio, lihat halaman Masalah umum atau Pemecahan masalah.

Kompatibilitas Android Studio dan plugin Android Gradle

Sistem build Android Studio didasarkan pada Gradle. Plugin Android Gradle (AGP) menambahkan beberapa fitur yang dikhususkan untuk membangun aplikasi Android. Tabel berikut mencantumkan versi AGP yang diperlukan untuk setiap versi Android Studio.

Versi Android Studio Versi AGP yang diperlukan
Ubur-ubur | 2023.3.1 3,2-8,4
Iguana | 2023.2.1 3.2-8.3
Hedgehog | 2023.1.1 3.2-8.2
Giraffe | 2022.3.1 3.2-8.1
Flamingo | 2022.2.1 3.2-8.0
Electric Eel | 2022.1.1 3.2-7.4

Versi lama

Versi Android Studio Versi AGP yang diperlukan
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.

Versi minimum alat untuk level API Android

Ada versi minimum Android Studio dan AGP yang mendukung level API tertentu. Menggunakan versi Android Studio atau AGP yang lebih rendah dari yang diperlukan oleh targetSdk atau compileSdk project Anda dapat menyebabkan masalah yang tidak terduga. Sebaiknya gunakan versi pratinjau terbaru Android Studio dan AGP untuk mengerjakan project yang menargetkan versi pratinjau Android OS. Anda dapat menginstal versi pratinjau Android Studio bersama dengan versi stabil.

Versi minimum Android Studio dan AGP adalah sebagai berikut:

Level API Versi Android Studio minimum Versi AGP minimum
Pratinjau VanillaIceCream Ubur-ubur | 2023.3.1 8.4
34 Hedgehog | 2023.1.1 8.1.1
33 Flamingo | 2022.2.1 7.2

Berikut adalah fitur baru di Android Studio Iguana.

Integrasi sistem kontrol versi di App Quality Insights

Dengan App Quality Insights, kini Anda dapat menavigasi dari stack trace Crashlytics ke kode yang relevan pada saat error terjadi. AGP melampirkan data hash commit git ke laporan error, yang membantu Android Studio membuka kode Anda dan menunjukkan bagaimana kode tersebut dalam versi tempat masalah terjadi. Saat melihat laporan error di App Quality Insights, Anda dapat memilih untuk membuka baris kode dalam checkout git saat ini atau melihat perbedaan antara checkout saat ini dan versi codebase yang menghasilkan error.

Untuk mengintegrasikan sistem kontrol versi dengan App Quality Insights, Anda memerlukan persyaratan minimum berikut:

Untuk menggunakan integrasi kontrol versi bagi jenis build yang dapat di-debug, aktifkan tanda vcsInfo dalam file build level modul. Untuk build rilis (tidak dapat di-debug), tanda ini diaktifkan secara default.

Kotlin

android {
  buildTypes {
    getByName("debug") {
      vcsInfo {
        include = true
      }
    }
  }
}

Groovy

android {
  buildTypes {
    debug {
      vcsInfo {
        include true
      }
    }
  }
}

Sekarang, ketika Anda membangun aplikasi dan memublikasikan ke Google Play, laporan error menyertakan data yang diperlukan oleh IDE untuk menautkan ke versi aplikasi sebelumnya dari stack trace.

Melihat varian error Crashlytics di App Quality Insights

Untuk membantu menganalisis akar penyebab error, Anda kini dapat menggunakan Insight Kualitas Aplikasi untuk melihat peristiwa berdasarkan varian masalah, atau grup peristiwa yang memiliki pelacakan tumpukan yang serupa. Untuk melihat peristiwa di setiap varian laporan error, pilih salah satu varian dari dropdown. Untuk menggabungkan informasi semua varian, pilih All.

Pemeriksaan UI Compose

Untuk membantu developer mem-build UI yang lebih adaptif dan mudah diakses di Jetpack Compose, Android Studio Iguana Canary 5 memperkenalkan mode Pemeriksaan UI baru di Pratinjau Compose. Fitur ini berfungsi mirip dengan Linting visual dan Integrasi pemeriksaan aksesibilitas untuk tampilan. Saat Anda mengaktifkan mode Pemeriksaan UI Compose, Android Studio akan otomatis mengaudit UI Compose serta memeriksa masalah adaptif dan aksesibilitas di berbagai ukuran layar, seperti teks yang direntangkan di layar besar atau kontras warna yang rendah. Mode ini menyoroti masalah yang ditemukan dalam berbagai konfigurasi pratinjau dan mencantumkannya di panel masalah.

Coba fitur ini sekarang dengan mengklik tombol Pemeriksaan UI di Pratinjau Compose dan kirim masukan Anda:

Klik tombol mode Pemeriksaan UI Compose untuk mengaktifkan pemeriksaan.

Masalah umum Mode Pemeriksaan UI:

  • Masalah yang dipilih di panel masalah mungkin kehilangan fokus
  • "Hentikan aturan" tidak berfungsi
Mode Pemeriksaan UI Compose diaktifkan dengan detail di panel soal.

Rendering Progresif untuk Pratinjau Compose

Android Studio Iguana Canary 3 memperkenalkan Rendering Progresif di Pratinjau Compose. Sebagai bagian dari upaya berkelanjutan untuk meningkatkan performa pratinjau, kini untuk setiap pratinjau yang berada di luar tampilan, kami sengaja mengurangi kualitas rendernya untuk menghemat memori yang digunakan.

Fitur ini dikembangkan dengan tujuan untuk lebih meningkatkan kegunaan Pratinjau dengan mampu menangani lebih banyak pratinjau secara bersamaan dalam file. Coba sekarang dan kirimkan masukan Anda.

Pembaruan platform IntelliJ IDEA 2023.2

Android Studio Iguana menyertakan update IntelliJ IDEA 2023.2, yang meningkatkan pengalaman IDE Studio. Untuk detail tentang perubahan ini, lihat catatan rilis IntelliJ IDEA 2023.2.

Wizard modul Profil Dasar Pengukuran

Mulai Android Studio Iguana, Anda dapat membuat Profil Dasar Pengukuran untuk aplikasi menggunakan template Generator Profil Dasar Pengukuran di wizard modul baru (File > New > New Module).

Template ini menyiapkan project Anda agar dapat mendukung Profil Dasar Pengukuran. Alat ini menggunakan plugin Gradle Profil Dasar Pengukuran baru, yang mengotomatiskan proses penyiapan project Anda dengan cara yang diperlukan dengan satu tugas Gradle.

Template ini juga membuat konfigurasi run yang memungkinkan Anda membuat Profil Dasar Pengukuran dengan sekali klik dari menu drop-down Select Run/Debug Configuration.

Menguji perubahan konfigurasi dengan Espresso Device API

Gunakan Espresso Device API untuk menguji aplikasi Anda saat perangkat mengalami perubahan konfigurasi umum, seperti rotasi dan bentang layar. Dengan Espresso Device API, Anda dapat menyimulasikan perubahan konfigurasi ini pada perangkat virtual dan menjalankan pengujian secara sinkron, sehingga hanya satu tindakan atau pernyataan UI yang terjadi dalam satu waktu dan hasil pengujian Anda lebih dapat diandalkan. Pelajari lebih lanjut cara menulis pengujian UI dengan Espresso.

Untuk menggunakan Espresso Device API, Anda memerlukan hal berikut:

  • Android Studio Iguana atau yang lebih baru
  • Plugin Android Gradle 8.3 atau yang lebih tinggi
  • Android Emulator 33.1.10 atau yang lebih tinggi
  • Perangkat virtual Android yang menjalankan API level 24 atau yang lebih tinggi

Menyiapkan project untuk Espresso Device API

Untuk menyiapkan project agar mendukung Espresso Device API, lakukan hal berikut:

  1. Agar pengujian dapat meneruskan perintah ke perangkat pengujian, tambahkan izin INTERNET dan ACCESS_NETWORK_STATE ke file manifes dalam set sumber androidTest:

      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permissions.ACCESS_NETWORK_STATE" />
  2. Aktifkan tanda eksperimental enableEmulatorControl di file gradle.properties:

      android.experimental.androidTest.enableEmulatorControl=true
  3. Aktifkan opsi emulatorControl dalam skrip build level modul:

    Kotlin

      testOptions {
        emulatorControl {
          enable = true
        }
      }

    Groovy

      testOptions {
        emulatorControl {
          enable = true
        }
      }
  4. Dalam skrip build level modul, impor library Perangkat Espresso ke project Anda:

    Kotlin

      dependencies {
        androidTestImplementation("androidx.test.espresso:espresso-device:3.5.1")
      }

    Groovy

      dependencies {
        androidTestImplementation 'androidx.test.espresso:espresso-device:3.5.1'
      }

Menguji dengan perubahan konfigurasi umum

Espresso Device API memiliki beberapa orientasi layar dan status perangkat foldable yang dapat Anda gunakan untuk menyimulasikan perubahan konfigurasi perangkat.

Menguji dengan rotasi layar

Berikut adalah contoh cara menguji apa yang terjadi pada aplikasi Anda saat layar perangkat diputar:

  1. Pertama, untuk status awal yang konsisten, setel perangkat ke mode potret:

      import androidx.test.espresso.device.action.ScreenOrientation
      import androidx.test.espresso.device.rules.ScreenOrientationRule
      ...
      @get:Rule
      val screenOrientationRule: ScreenOrientationRule = ScreenOrientationRule(ScreenOrientation.PORTRAIT)
  2. Buat pengujian yang menetapkan perangkat ke orientasi lanskap selama eksekusi uji:

      @Test
      fun myRotationTest() {
        ...
        // Sets the device to landscape orientation during test execution.
        onDevice().setScreenOrientation(ScreenOrientation.LANDSCAPE)
        ...
      }
  3. Setelah layar diputar, pastikan UI beradaptasi dengan tata letak baru seperti yang diharapkan:

      @Test
      fun myRotationTest() {
        ...
        // Sets the device to landscape orientation during test execution.
        onDevice().setScreenOrientation(ScreenOrientation.LANDSCAPE)
        composeTestRule.onNodeWithTag("NavRail").assertIsDisplayed()
        composeTestRule.onNodeWithTag("BottomBar").assertDoesNotExist()
      }

Uji dengan layar yang dibentangkan

Berikut adalah contoh cara menguji apa yang terjadi pada aplikasi Anda jika berada di perangkat foldable dan layar terbuka:

  1. Pertama, uji dengan perangkat dalam keadaan terlipat dengan memanggil onDevice().setClosedMode(). Pastikan tata letak aplikasi Anda beradaptasi dengan lebar layar yang ringkas:

      @Test
      fun myUnfoldedTest() {
        onDevice().setClosedMode()
        composeTestRule.onNodeWithTag("BottomBar").assetIsDisplayed()
        composeTestRule.onNodeWithTag("NavRail").assetDoesNotExist()
        ...
      }
  2. Untuk bertransisi ke status yang sepenuhnya dibentangkan, panggil onDevice().setFlatMode(). Pastikan tata letak aplikasi beradaptasi dengan class ukuran yang diperluas:

      @Test
      fun myUnfoldedTest() {
        onDevice().setClosedMode()
        ...
        onDevice().setFlatMode()
        composeTestRule.onNodeWithTag("NavRail").assertIsDisplayed()
        composeTestRule.onNodeWithTag("BottomBar").assetDoesNotExist()
      }

Menentukan perangkat yang dibutuhkan pengujian Anda

Jika Anda menjalankan pengujian yang melakukan tindakan lipat pada perangkat yang tidak dapat dilipat, pengujian biasanya akan gagal. Untuk menjalankan pengujian yang relevan saja dengan perangkat yang berjalan, gunakan anotasi @RequiresDeviceMode. Runner pengujian akan otomatis melewati pengujian pada perangkat yang tidak mendukung konfigurasi yang sedang diuji. Anda dapat menambahkan aturan persyaratan perangkat ke setiap pengujian atau seluruh class pengujian.

Misalnya, untuk menentukan bahwa pengujian hanya boleh dijalankan pada perangkat yang mendukung bentangan ke konfigurasi datar, tambahkan kode @RequiresDeviceMode berikut ke pengujian Anda:

@Test
@RequiresDeviceMode(mode = FLAT)
fun myUnfoldedTest() {
  ...
}