Aracılığıyla paylaş


Android Kod Çözme

Önemli

Visual Studio App Center, 30 Haziran 2026'ya kadar desteklenmeye devam edecek Analiz ve Tanılama özellikleri dışında 31 Mart 2025'te kullanımdan kaldırılmıştır. Daha fazla bilgi edinin.

ProGuard, DexGuard ve R8, Android uygulamalarının kodunu iyileştirmeye ve gizlemeye yönelik araçlardır. Kullanılmayan kodu kaldırır, sınıfları, alanları ve yöntemleri anlam bakımından belirsiz olacak şekilde yeniden adlandırır, böylece 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 izlemelerinin anlaşılır hale getirilmesi gerekir. App Center, Java, Kotlin ve React Native Android uygulamalarınız için her derlemede oluşturulan mapping.txt dosyasını karşıya yüklediğinizde yığın izlemelerinin belirsizliğini otomatik olarak kaldırır. Bu dosya özgün sınıf, yöntem ve alan adlarını belirsiz 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, aşağıdaki adımlarda ayrıntılı olarak açıklandığı gibi eşleme dosyalarını el ile edinmeniz ve karşıya yüklemeniz gerekmez.

mapping.txt dosyası yükleniyor

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. Seçin Eşlemeler'i
  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 derleme için çalışması için bu derlemenin Gradle yapılandırmasıyla eşleşmesi gerekir)
  7. Uygulama modülünüzün derleme dizininden mapping.txt dosyasını karşıya yükleyin.
  8. Kaydet düğmesine tıklayın.

App Center API'si

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 için, 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, sürüm kodunu ve Sürüm Adı'nı sırasıyla karşılık gelen symbol_type, AndroidProguard, build ve version özelliklerinin yanı sıra bir file_name olarak ayarlamalıdır.

  1. POST isteğini symbol_uploads API'sine tetikle. 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. İlk adımda döndürülen upload_url özelliğini kullanarak, PUT başlıklı üst bilgi ile bir "x-ms-blob-type: BlockBlob" isteği yapın ve dosyanızın disk üzerindeki konumunu belirtin. 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 PATCH özelliğini kullanarak symbol_uploads API'sine bir symbol_upload_id isteği gönderin. İsteğin gövdesinde, yükleme işleminin durumunu ayarlamak isteyip istemediğinizi belirtin: committed (başarıyla tamamlandı) veya aborted (başarısız oldu).
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" }'

Uyarı

Sembol yükleme API'si 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

Ayrıca CLI'yi kullanarak eşleme dosyalarını karşıya yükleyebilirsiniz:

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

Uyarı

App Center, doğru mapping.txt dosyanın yüklenmiş olup olmadığını kontrol edemiyor. .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ı, dosyayı mapping.txt gelen kilitlenme raporlarının gizliliğini çözmek için Diagnostik'e iletir. Derleme dağıtıldıktan sonra mapping.txt dosyasını el ile yüklemek gerekmez.

Eşleme dosyasını silme

  1. GET symbols_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 DELETE bir istek gönderin. Bu işlem belirtilen eşleme dosyasını siler.