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
mapping.txt
Mengunduh file dari direktori build modul aplikasi Anda- Masuk ke App Center dan pilih aplikasi Anda
- Di menu sebelah kiri, navigasikan ke bagian Diagnostik
- Pilih Pemetaan
- Klik tombol Unggah pemetaan di kanan atas
- Isi Nama Versi dan Kode Versi (ini harus cocok dengan konfigurasi Gradle build agar pemetaan berfungsi untuk build tertentu)
mapping.txt
Unggah file dari direktori build modul aplikasi Anda.- 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 AndroidProguard
properti , build
dan version
yang sesuai dengan Kode Versi dan Nama Versi, masing-masing, serta file_name
.
POST
Memicu permintaan ke API symbol_uploads. Panggilan ini mengalokasikan ruang di backend kami untuk file Anda dan mengembalikansymbol_upload_id
properti danupload_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}'
- Menggunakan properti yang
upload_url
dikembalikan dari langkah pertama, buatPUT
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}'
- Buat
PATCH
permintaan ke API symbol_uploads menggunakan properti yangsymbol_upload_id
dikembalikan dari langkah pertama. Dalam isi permintaan, tentukan apakah Anda ingin mengatur status unggahan kecommitted
(berhasil diselesaikan) proses pengunggahan, atauaborted
(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
- Buat
GET
permintaan ke API symbols_list. Ini mengambil ID untuk file pemetaan yang Anda unggah. - Buat
DELETE
permintaan ke API symbols_upload dengan ID file pemetaan. Ini menghapus file pemetaan yang ditentukan.