Aracılığıyla paylaş


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ı

  1. mapping.txt Dosyayı uygulama modülünüzün derleme dizininden indirin
  2. App Center'da oturum açın ve uygulamanızı seçin
  3. Soldaki menüde Tanılama bölümüne gidin
  4. Eşlemeleri Seç
  5. Sağ üstteki Eşlemeleri karşıya yükle düğmesine tıklayın
  6. 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)
  7. mapping.txt Dosyayı uygulama modülünüzün derleme dizininden karşıya yükleyin.
  8. 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_nameolarak ayarlanmalıdır symbol_typeAndroidProguard.

  1. symbol_uploads API'sine bir POST istek tetikleme. Bu çağrı, dosyanız için arka uçta yer ayırır ve bir symbol_upload_id ve upload_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}'
  1. upload_url İlk adımda döndürülen özelliğini kullanarak üst bilgiyle bir PUT 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}'
  1. İlk adımda döndürülen özelliğini kullanarak symbol_upload_idsymbol_uploads API'sine bir PATCH istek gönderin. İsteğin gövdesinde, karşıya yükleme işleminin durumunu ( committed başarıyla tamamlandı) veya aborted (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

  1. GETsymbols_list API'sine istek gönderin. Bu, karşıya yüklediğiniz eşleme dosyalarının kimliklerini alır.
  2. Eşleme dosyası kimliğiyle symbols_upload API'sine bir DELETE istek gönderin. Bu işlem belirtilen eşleme dosyasını siler.