Membuat Profil dan Men-debug APK Siap Pakai

Android Studio 3.0 memungkinkan Anda untuk membuat profil dan men-debug APK tanpa harus membangunnya dari project Android Studio. Namun, Anda harus memastikan bahwa Anda menggunakan versi APK yang bisa di-debug.

Untuk memulai proses debug APK, klik Profile or debug APK dari layar Selamat Datang Android Studio. Atau, bila Anda sudah membuka project, klik File > Profile or debug APK dari bilah menu. Di jendela dialog berikutnya, pilih APK yang ingin Anda impor ke Android Studio dan klik OK. Anda akan melihat tampilan seperti gambar 1.

Gambar 1. Mengimpor APK siap pakai ke Android Studio.

Catatan: Saat mengimpor APK ke Android Studio, IDE membuat project baru di direktori home Anda dan membuat salinan lokal APK target. Artinya, bila Anda membangun kembali atau mengupdate APK asli, Anda harus mengimpor lagi versi terupdate secara manual ke dalam Android Studio.

Tampilan Android di panel Project memungkinkan Anda memeriksa konten APK berikut:

  • APK file: Mengklik dua kali APK akan membuka penganalisis APK.
  • manifests: Manifes aplikasi, diekstrak dari APK.
  • java: Berisi kode Java yang dibongkar Android Studio (menjadi file .smali ) dari file DEX APK Anda. Setiap file .smali dalam direktori ini cocok dengan kelas Java.
  • cpp: Bila aplikasi Anda menyertakan kode asli, direktori ini berisi library bawaan APK Anda (file .so).
  • External Libraries: Berisi Android SDK.

Anda bisa langsung menggunakan Android profiler untuk mulai menguji kinerja aplikasi—akan tetapi, profiler saat ini hanya berfungsi dengan pemrosesan Java aplikasi. Untuk men-debug kode asli dan Java aplikasi menggunakan breakpoint, Anda harus terlebih dahulu menyematkan sumber Java dan menyematkan simbol debug bawaan.

Menyematkan sumber Java

Secara default, Android Studio mengekstrak kode Java dari APK Anda dan menyimpannya sebagai file .smali. Untuk men-debug kode Java menggunakan breakpoint, Anda perlu menyematkan sumber Java ke setiap file .smali yang ingin Anda debug.

Untuk menyematkan sumber Java, lakukan hal berikut:

  1. Klik dua kali file .smali dari panel Project (gunakan tampilan Android). Setelah membuka file, editor akan menampilkan banner peringatan kuning yang meminta Anda untuk memilih sumber Java, seperti yang ditunjukkan pada gambar 1.
  2. Klik Attach Java Sources di bagian atas jendela editor.
  3. Buka direktori yang terdapat file sumber Java aplikasi dan klik Open.

Pada jendela Project, IDE mengganti file .smali dengan file .java yang cocok. Anda sekarang bisa menambahkan breakpoint dan men-debug aplikasi Anda seperti biasanya.

Menyematkan simbol debug bawaan

Bila APK Anda berisi library bawaan (file .so) yang tidak menyertakan simbol debug, IDE akan menampilkan peringatan di jendela Messages, seperti yang ditunjukkan pada gambar X. Anda tidak bisa men-debug kode bawaan APK atau menggunakan breakpoint tanpa menyematkan library bawaan yang bisa di-debug. Bila Anda belum melakukannya, pastikan untuk mendownload NDK dan peralatannya.

Untuk menyematkan library bawaan yang bisa di-debug, lakukan langkah-langkah berikut:

  1. Di bawah direktori cpp di jendela Project, klik dua kali file library bawaan yang tidak menyertakan simbol debug. Editor menampilkan tabel semua ABI yang didukung APK Anda.
  2. Klik Add di sudut kanan atas jendela editor.
  3. Buka direktori yang menyertakan library bawaan bisa di-debug yang ingin Anda sematkan dan klik OK.
  4. Bila APK dan library bawaan yang bisa di-debug dibangun menggunakan workstation berbeda, Anda perlu menentukan lokasi lokal ke simbol debug dengan mengikuti langkah-langkah berikut:
    1. Tambahkan lokasi lokal ke simbol debug yang hilang dengan mengedit bidang di bawah kolom Local Paths di bagian Path Mappings dari jendela editor, seperti yang ditunjukkan pada gambar 2. IDE secara otomatis memetakan lokasi untuk remote NDK ke lokasi dalam download NDK lokal.
    2. Klik Apply.

      Gambar 2. Menyediakan lokasi untuk simbol debug lokal.

Anda sekarang akan melihat file sumber bawaan di jendela Project. Buka file bawaan tersebut untuk menambahkan breakpoint dan men-debug aplikasi Anda seperti biasa.

Masalah yang dikenal: Saat menyematkan simbol debug ke APK, APK dan file .so yang bisa di-debug harus dibangun menggunakan workstation atau server build yang sama.