Önceden oluşturulmuş APK'larda hata ayıklama

Android Studio 3.0 ve sonraki sürümler, hata ayıklama etkinleştirilmiş APK'ları Android Studio projesinden oluşturmanıza gerek kalmadan profilinizi ve hata ayıklamanızı yapmanıza olanak tanır.

Bir APK'da hata ayıklamaya başlamak için aşağıdaki adımları uygulayın:

  1. Android Studio Karşılama ekranında Profil veya APK hatalarını ayıkla seçeneğini tıklayın.

    Zaten açık bir projeniz varsa menü çubuğundan Dosya > Profil veya Hata Ayıklama APK'sı seçeneğini tıklayın.

  2. Açılan iletişim kutusunda, Android Studio'ya aktarmak istediğiniz APK'yı seçin.

  3. Tamam'ı tıklayın.

Daha sonra Android Studio, Şekil 1'e benzer şekilde paketlenmemiş APK dosyalarını görüntüler. Bu, tamamen derlenmiş bir dosya grubu değildir ancak DEX dosyalarının daha okunabilir bir sürümü için SMALI dosyaları sağlar.

Önceden oluşturulmuş bir APK'yı Android Studio'ya aktarma

Şekil 1. Önceden oluşturulmuş bir APK'yı Android Studio'ya aktarma.

Proje bölmesindeki Android görünümü, APK'nızın aşağıdaki içeriklerini incelemenize olanak tanır:

  • APK dosyası: APK analiz aracını açmak için APK'yı çift tıklayın.
  • manifests: APK'dan alınan uygulama manifestlerini içerir.
  • java: Android Studio'nun APK'nızın DEX dosyalarından ayırdığı (SMALI dosyalarına) Kotlin veya Java kodu içerir. Bu dizindeki her SMALI dosyası bir Kotlin veya Java sınıfına karşılık gelir.
  • cpp: Uygulamanız yerel kod içeriyorsa bu dizin, APK'nızın yerel kitaplıklarını (SO dosyaları) içerir.
  • Harici Kitaplıklar: Android SDK'yı içerir.

Uygulamanızın performansını test etmeye başlamak için Android profil aracını kullanabilirsiniz.

Uygulamanızın Kotlin veya Java kodunda hata ayıklamak için Kotlin veya Java kaynaklarını eklemeniz ve Kotlin ya da Java kaynak dosyalarına kesme noktaları eklemeniz gerekir. Benzer şekilde, yerel kodunuzdaki hataları ayıklamak için yerel hata ayıklama sembollerini eklemeniz gerekir.

Kotlin veya Java kaynakları ekleyin

Varsayılan olarak Android Studio, APK'nızdan Kotlin veya Java kodunu çıkarır ve SMALI dosyaları olarak kaydeder. Ayrılma noktalarını kullanarak Kotlin veya Java kodunda hata ayıklamak için IDE'yi, hata ayıklamak istediğiniz SMALI dosyalarına karşılık gelen Kotlin veya Java kaynak dosyalarına yönlendirmeniz gerekir.

Kotlin veya Java kaynaklarını eklemek için aşağıdaki adımları uygulayın:

  1. Android görünümündeki Proje bölmesinden bir SMALI dosyasını çift tıklayın. Düzenleyici dosyayı açtıktan sonra Kotlin veya Java kaynaklarını seçmenizi isteyen bir banner görüntüler: Kaynak banner'ı ekle
  2. Düzenleyici penceresindeki banner'dan Kotlin/Java Kaynakları Ekle... seçeneğini tıklayın.
  3. Uygulamanın Kotlin veya Java kaynak dosyalarının bulunduğu dizine gidin ve 'ı tıklayın.

Proje penceresinde, Android Studio SMALI dosyalarını karşılık gelen Kotlin veya Java kaynak dosyalarıyla değiştirir. Android Studio aynı zamanda iç sınıfları da otomatik olarak içerir. Artık ayrılma noktaları ekleyebilir ve uygulamanızda hata ayıklayabilirsiniz.

Yerel hata ayıklama sembolleri ekleyin

APK'nız hata ayıklama sembolleri içermeyen yerel kitaplıklar (SO dosyaları) içeriyorsa Android Studio size Şekil 1'de gösterilene benzer bir banner gösterir. Hata ayıklaması yapılabilir yerel kitaplıklar eklemeden APK'nın yerel kodunda hata ayıklayamaz veya ayrılma noktalarını kullanamazsınız.

Hata ayıklaması yapılabilir yerel kitaplıklar eklemek için aşağıdaki adımları uygulayın:

  1. Henüz yapmadıysanız NDK'yı ve araçları indirin.
  2. Android görünümünde, Proje penceresindeki cpp dizininin altında, hata ayıklama sembolleri içermeyen bir yerel kitaplık dosyasını çift tıklayın.

    Düzenleyici, APK'nızın desteklediği tüm ABI'lerin tablosunu gösterir.

  3. Düzenleyici penceresinin sağ üst köşesinde Ekle'yi tıklayın.

  4. Eklemek istediğiniz hata ayıklaması yapılabilir yerel kitaplıkları içeren dizine gidin ve Tamam'ı tıklayın.

APK ve hata ayıklaması yapılabilir yerel kitaplıklar farklı bir iş istasyonu kullanılarak derlenmişse aşağıdaki adımları uygulayarak yerel hata ayıklama sembollerinin yollarını da belirtmeniz gerekir:

  1. Eksik hata ayıklama simgelerine yerel yollar eklemek için, şekil 2'de gösterilen düzenleyici penceresinin Yol Eşlemeleri bölümünde Yerel Yollar sütunundaki alanı düzenleyin.

    Çoğu durumda, yalnızca bir kök klasöre giden yolu sağlamanız yeterlidir. Android Studio, ek kaynakları eşlemek için alt dizinleri otomatik olarak inceler. Android Studio ayrıca, uzak bir NDK'ya giden yolları yerel NDK indirmenizle otomatik olarak eşler.

  2. Düzenleyici penceresinin Yol Eşlemeleri bölümünde Değişiklikleri Uygula'yı tıklayın.

Yerel hata ayıklama sembolleri için yol sağlama

2. Şekil. Sembolleri hata ayıklamanın yerel yolları.

Yerel kaynak dosyalar Proje penceresinde görünür. Kesme noktaları eklemek ve uygulamanızda hata ayıklamak için bu yerel kaynak dosyalarını açın. Eşlemeleri kaldırmak için düzenleyici penceresinin Yol Eşlemeleri bölümünde Temizle'yi tıklayın.

Bilinen sorun: Bir APK'ya hata ayıklama sembolleri eklerken hem APK'nın hem de hata ayıklanabilir SO dosyalarının aynı iş istasyonu veya derleme sunucusu kullanılarak derlenmesi gerekir.

Android Studio 3.6 ve sonraki sürümlerde, APK IDE dışında güncellendiğinde yeni bir proje oluşturmanız gerekmez. Android Studio, APK'daki değişiklikleri algılar ve tekrar içe aktarma seçeneğini sunar.

Güncellenen APK'yı içe aktar

3. Şekil. Android Studio dışında güncellenen APK'lar yeniden içe aktarılabilir.