Yerel kod kitaplıkları, varsayılan olarak uygulamanızın sürüm derlemelerinde soyulur. Bu soyma işlemi, uygulamanız tarafından kullanılan tüm yerel kitaplıklardaki simge tablosunun ve hata ayıklama bilgilerinin kaldırılmasını içerir. Yerel kod kitaplıklarının soyulması, önemli ölçüde boyut tasarrufu sağlar. Ancak eksik bilgiler (ör. sınıf ve işlev adları) nedeniyle Google Play Console'da kilitlenmelerin teşhis edilmesi mümkün değildir. Kilitlenmelerde hata ayıklama yapmak için Play Console'da uygulamanıza bir hata ayıklama sembolleri dosyası eklemeniz gerekir.
Simge dosyası yükleme
Google Play Console, yerel kilitlenmeleri Android vitals altında raporlar. Birkaç adımda uygulamanız için yerel hata ayıklama sembolleri dosyası oluşturabilir ve yükleyebilirsiniz. Bu dosya, uygulamanızı üretimde hata ayıklamaya yardımcı olmak için Android vitals'da simgeselleştirilmiş yerel kilitlenme yığın izlemelerini (sınıf ve işlev adlarını içerir) etkinleştirir. Bu adımlar, projenizde kullanılan Android Gradle eklentisinin sürümüne ve Android App Bundle (önerilen) mi yoksa APK mı kullandığınıza bağlı olarak değişiklik gösterir.
Android Gradle eklentisi 4.1 veya sonraki sürümleri
Projeniz Android App Bundle (AAB) derliyorsa derlemenizi, yerel hata ayıklama simgeleri dosyasını AAB'ye otomatik olarak dahil edecek şekilde yapılandırabilirsiniz. Böylece, uygulamanızı yayınladığınızda bu dosya Play Console'a yüklenir. Bu dosyayı yayın derlemelerine dahil etmek için uygulamanızın build.gradle.kts
dosyasına aşağıdakileri ekleyin:
android.buildTypes.release.ndk.debugSymbolLevel = { SYMBOL_TABLE | FULL }
Aşağıdakiler arasından hata ayıklama sembolü düzeyini seçin:
- Play Console'un simgelenmiş yığın izlemelerinde işlev adlarını almak için
SYMBOL_TABLE
değerini kullanın. Bu düzeyde mezar taşları desteklenir. - Play Console'un sembolize edilmiş yığın izlemelerinde işlev adlarını, dosyaları ve satır numaralarını almak için
FULL
'ü kullanın.
Projeniz APK derliyorsa yerel hata ayıklama simgeleri dosyasını ayrı olarak oluşturmak için daha önce gösterilen android.buildTypes.release.ndk.debugSymbolLevel
ayarını kullanın. Yerel hata ayıklama simgeleri dosyasını Google Play Console'a manuel olarak yükleyin (Bu işlem, yığın izlemelerini kod göstermek için bir eşleme dosyası yüklemeye benzer).
Android Gradle eklentisi, derleme işleminin bir parçası olarak bu dosyayı aşağıdaki proje konumuna çıkarır:
app/build/outputs/native-debug-symbols/<var>variant-name</var>/native-debug-symbols.zip
Android Gradle eklentisi 4.0 ve önceki sürümler (ayrıca diğer derleme sistemleri)
Android Gradle eklentisi, derleme işleminin bir parçası olarak, sadeleştirilmemiş kitaplıkların kopyasını proje dizininde saklar. Bu dizin yapısı aşağıdakine benzer:
app/build/intermediates/cmake/universal/release/obj/
├── armeabi-v7a/
│ ├── libgameengine.so
│ ├── libothercode.so
│ └── libvideocodec.so
├── arm64-v8a/
│ ├── libgameengine.so
│ ├── libothercode.so
│ └── libvideocodec.so
├── x86/
│ ├── libgameengine.so
│ ├── libothercode.so
│ └── libvideocodec.so
└── x86_64/
├── libgameengine.so
├── libothercode.so
└── libvideocodec.so
Bu dizinin içeriğini zip dosyası olarak kaydedin:
cd app/build/intermediates/cmake/universal/release/obj zip -r symbols.zip .
symbols.zip
dosyasını Google Play Console'a manuel olarak yükleyin.