Android Deobfuscation
Önemli
Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.
Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.
ProGuard, DexGuard ve R8, Android uygulamalarının kodunu iyileştirmeye ve karartmaya yönelik araçlardır. Kullanılmayan kodu kaldırır, sınıfları, alanları ve yöntemleri belirsiz adlarla yeniden adlandırır ve kod tabanını küçültür ve tersine mühendislik işlemini zorlaştırır. Android uygulamanızda ProGuard veya R8 ile gizlemeyi etkinleştirmek için resmi Android Geliştirici belgelerini izleyin.
Android uygulamanızda ProGuard, DexGuard veya R8 etkinleştirildiğinde yığın izlemelerinizin deobfuscated olması gerekir. App Center, her derlemede oluşturulan dosyayı karşıya yüklediğinizde mapping.txt
Java, Kotlin ve React Native Android uygulamalarınız için yığın izlemelerini otomatik olarak kaldırır. Bu dosya özgün sınıf, yöntem ve alan adlarını karartılmış adlarla eşler ve yığın izlemelerini okunabilir hale getirir.
App Center Derleme ve Dağıtım hizmeti otomatik olarak eşleme dosyaları oluşturabilir ve bunları Tanılama hizmetine yükleyebilir. Uygulamanızı derlemek ve son kullanıcılarınıza otomatik olarak dağıtmak için App Center kullanıyorsanız, eşleme dosyalarını aşağıdaki adımlarda ayrıntılı olarak açıklandığı gibi el ile edinmeniz ve karşıya yüklemeniz gerekmez.
mapping.txt dosyasını karşıya yükleme
App Center Portalı
mapping.txt
Dosyayı uygulama modülünüzün derleme dizininden indirin- App Center'da oturum açın ve uygulamanızı seçin
- Soldaki menüde Tanılama bölümüne gidin
- Eşlemeleri Seç
- Sağ üstteki Eşlemeleri karşıya yükle düğmesine tıklayın
- Sürüm Adı ve Sürüm Kodu'nu doldurun (eşlemenin belirli bir derlemede çalışması için bu derlemenin Gradle yapılandırmasıyla eşleşmelidir)
mapping.txt
Dosyayı uygulama modülünüzün derleme dizininden karşıya yükleyin.- Kaydet düğmesine tıklayın.
App Center API
Eşleme dosyalarını API aracılığıyla karşıya yükleme işlemi üç API çağrısı serisini içerir: biri arka ucumuzda yer ayırmak, biri dosyayı karşıya yüklemek için ve biri de karşıya yüklemenin durumunu güncelleştirmek için. İlk API çağrısının gövdesi, build
sürüm kodu ve version
Sürüm Adı'na karşılık gelen özelliklerin yanı sıra bir file_name
olarak ayarlanmalıdır symbol_type
AndroidProguard
.
- symbol_uploads API'sine bir
POST
istek tetikleme. Bu çağrı, dosyanız için arka uçta yer ayırır ve birsymbol_upload_id
veupload_url
özelliği döndürür.
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}'
upload_url
İlk adımda döndürülen özelliğini kullanarak üst bilgiyle birPUT
istekte bulunun:"x-ms-blob-type: BlockBlob"
ve dosyanızın disk üzerindeki konumunu sağlayın. Bu çağrı, dosyayı arka uç depolama hesaplarımıza yükler. PUT Blob isteği üst bilgileri hakkında daha fazla bilgi edinin.
curl -X PUT '{upload_url}' \
-H 'x-ms-blob-type: BlockBlob' \
--upload-file '{path to file}'
- İlk adımda döndürülen özelliğini kullanarak
symbol_upload_id
symbol_uploads API'sine birPATCH
istek gönderin. İsteğin gövdesinde, karşıya yükleme işleminin durumunu (committed
başarıyla tamamlandı) veyaaborted
(başarısız bir şekilde tamamlandı) olarak ayarlamak isteyip istemediğinizi belirtin.
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" }'
Not
Sembol karşıya yükleme API'sini 256 MB'tan büyük dosyalar için çalışmaz. Bu dosyaları karşıya yüklemek için App Center CLI'sini kullanın. App Center CLI depomuzdaki yönergeleri izleyerek App Center CLI'yi yükleyebilirsiniz.
App Center CLI
Cli'yi eşleme dosyalarını karşıya yüklemek için de kullanabilirsiniz:
appcenter crashes upload-mappings --mapping {mapping file} --version-name {version name} --version-code {version code}
Not
App Center, doğru mapping.txt
dosyayı karşıya yükleyip yüklemediğinize bakamaz. .apk dosyasını oluşturduktan sonra dosyayı doğrudan karşıya yüklemenizi veya daha sonra karşıya yüklemek istiyorsanız kod deponuza göndermenizi öneririz.
App Center'da bir derlemeden eşlemeyi iletme
Derleme bir mapping.txt
dosya üretecek şekilde yapılandırılmışsa App Center derlemeleri dosyayı kullanılabilir bir indirme olarak üretir. Derlemenin otomatik olarak dağıtılması veya daha sonra el ile dağıtılması, gelen kilitlenme raporlarının engellenmesi için dosyayı Tanılama'ya iletir mapping.txt
. Derleme dağıtıldıktan sonra dosyayı el ile karşıya yüklemek mapping.txt
gerekmez.
Eşleme dosyasını silme
GET
symbols_list API'sine istek gönderin. Bu, karşıya yüklediğiniz eşleme dosyalarının kimliklerini alır.- Eşleme dosyası kimliğiyle symbols_upload API'sine bir
DELETE
istek gönderin. Bu işlem belirtilen eşleme dosyasını siler.