Android Deobfuscation

Penting

Visual Studio App Center dijadwalkan untuk dihentikan pada 31 Maret 2025. Meskipun Anda dapat terus menggunakan Visual Studio App Center hingga sepenuhnya dihentikan, ada beberapa alternatif yang direkomendasikan yang dapat Anda pertimbangkan untuk bermigrasi.

Pelajari selengkapnya tentang garis waktu dukungan dan alternatif.

ProGuard, DexGuard, dan R8 adalah alat untuk mengoptimalkan dan mengaburkan kode aplikasi Android. Ini menghapus kode yang tidak digunakan, mengganti nama kelas, bidang, dan metode dengan nama yang tidak jelas secara semantik, membuat basis kode lebih kecil dan lebih sulit untuk direkayasa balik. Untuk mengaktifkan obfuscation dengan ProGuard atau R8 di aplikasi Android Anda, ikuti dokumentasi Resmi Android Developer.

Dengan ProGuard, DexGuard, atau R8 diaktifkan di aplikasi Android Anda, jejak tumpukan Anda harus dideobfuscat. App Center secara otomatis mendeobfuscates jejak tumpukan untuk aplikasi Java, Kotlin, dan React Native Android saat Anda mengunggah file yang mapping.txt dibuat di setiap build. File ini memetakan nama kelas, metode, dan bidang asli ke nama yang dikaburkan sehingga jejak tumpukan dapat dibaca.

Layanan Build dan Distribusi App Center dapat secara otomatis menghasilkan file pemetaan dan mengunggahnya ke layanan Diagnostik. Jika Anda menggunakan App Center untuk membuat dan mendistribusikan aplikasi secara otomatis ke pengguna akhir, Anda tidak perlu mendapatkan dan mengunggah file pemetaan secara manual seperti yang dijelaskan dalam langkah-langkah di bawah ini.

Mengunggah file mapping.txt

Portal Pusat Aplikasi

  1. mapping.txt Mengunduh file dari direktori build modul aplikasi Anda
  2. Masuk ke App Center dan pilih aplikasi Anda
  3. Di menu sebelah kiri, navigasikan ke bagian Diagnostik
  4. Pilih Pemetaan
  5. Klik tombol Unggah pemetaan di kanan atas
  6. Isi Nama Versi dan Kode Versi (ini harus cocok dengan konfigurasi Gradle build agar pemetaan berfungsi untuk build tertentu)
  7. mapping.txt Unggah file dari direktori build modul aplikasi Anda.
  8. Klik tombol Simpan.

App Center API

Proses untuk mengunggah file pemetaan melalui API melibatkan serangkaian tiga panggilan API: satu untuk mengalokasikan ruang di backend kami, satu untuk mengunggah file, dan satu untuk memperbarui status unggahan. Isi panggilan API pertama harus diatur symbol_type ke AndroidProguardproperti , build dan version yang sesuai dengan Kode Versi dan Nama Versi, masing-masing, serta file_name.

  1. POST Memicu permintaan ke API symbol_uploads. Panggilan ini mengalokasikan ruang di backend kami untuk file Anda dan mengembalikan symbol_upload_id properti dan upload_url .
curl -X POST 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads' \
    -H 'accept: application/json' \
    -H 'X-API-Token: {API TOKEN}' \
    -H 'Content-Type: application/json' \
    -d '{JSON BODY}'
  1. Menggunakan properti yang upload_url dikembalikan dari langkah pertama, buat PUT permintaan dengan header : "x-ms-blob-type: BlockBlob" dan berikan lokasi file Anda di disk. Panggilan ini mengunggah file ke akun penyimpanan backend kami. Pelajari selengkapnya tentang header permintaan PUT Blob .
curl -X PUT '{upload_url}' \
    -H 'x-ms-blob-type: BlockBlob' \
    --upload-file '{path to file}'
  1. Buat PATCH permintaan ke API symbol_uploads menggunakan properti yang symbol_upload_id dikembalikan dari langkah pertama. Dalam isi permintaan, tentukan apakah Anda ingin mengatur status unggahan ke committed (berhasil diselesaikan) proses pengunggahan, atau aborted (tidak berhasil diselesaikan).
curl -X PATCH 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}' \
    -H 'accept: application/json' \
    -H 'X-API-Token: {API TOKEN}' \
    -H 'Content-Type: application/json' \
    -d '{ "status": "committed" }'

Catatan

SIMBOL mengunggah API tidak berfungsi untuk file yang lebih besar dari 256MB. Gunakan CLI App Center untuk mengunggah file-file ini. Anda dapat menginstal CLI App Center dengan mengikuti instruksi di repositori CLI App Center kami.

CLI Pusat Aplikasi

Anda juga dapat menggunakan CLI untuk mengunggah file pemetaan:

appcenter crashes upload-mappings --mapping {mapping file} --version-name {version name} --version-code {version code}

Catatan

App Center tidak dapat memeriksa apakah Anda telah mengunggah file yang tepat mapping.txt . Sebaiknya unggah file secara langsung setelah Anda membuat file .apk, atau mendorongnya ke repositori kode Jika Anda ingin mengunggahnya nanti.

Meneruskan pemetaan dari build di App Center

Jika build dikonfigurasi untuk menghasilkan mapping.txt file, App Center membuat file sebagai unduhan yang tersedia. Mendistribusikan build secara otomatis atau mendistribusikannya secara manual nanti akan meneruskan file ke mapping.txt Diagnostik untuk mendeobfuscate laporan crash yang masuk. Tidak diperlukan untuk mengunggah mapping.txt file secara manual setelah mendistribusikan build.

Menghapus file pemetaan

  1. Buat GET permintaan ke API symbols_list. Ini mengambil ID untuk file pemetaan yang Anda unggah.
  2. Buat DELETE permintaan ke API symbols_upload dengan ID file pemetaan. Ini menghapus file pemetaan yang ditentukan.