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

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

APK'da hata ayıklamaya başlamak için şu adımları izleyin:

  1. Android Studio Karşılama ekranından Profil veya hata ayıklama APK'sı 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 içe aktarmak istediğiniz APK'yı seçin.

  3. Tamam'ı tıklayın.

Bu seçenek görünmüyorsa "Android APK Desteği" eklentisini etkinleştirdiğinizden emin olun.

Android Studio daha sonra Şekil 1'e benzer şekilde, paketlenmemiş APK dosyalarını görüntüler. Bu, tamamen derlenmiş bir dosya kümesi 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.
  • manifestler: APK'dan çıkarılan 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 oluşturucuyu kullanabilirsiniz.

Uygulamanızın Kotlin veya Java kodunda hata ayıklamak için Kotlin veya Java kaynaklarını eklemeniz ve Kotlin veya Java kaynak dosyalarına kesme noktaları eklemeniz gerekir. Benzer şekilde, yerel kodunuzda hata 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 bunu SMALI dosyaları olarak kaydeder. Ayrılma noktaları 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ı 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: Kaynaklar 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, 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 ekle

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öşesindeki 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 oluşturulmuşsa aşağıdaki adımları uygulayarak yerel hata ayıklama sembollerinin yollarını da belirtmeniz gerekir:

  1. Şekil 2'de gösterilen, düzenleyici penceresinin Yol Eşlemeleri bölümünde Yerel Yollar sütunu altındaki alanı düzenleyerek eksik hata ayıklama sembolleri için yerel yollar ekleyin.

    Ç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. Ayrıca Android Studio, uzak bir NDK'ya giden yolları otomatik olarak yerel NDK indirmenizle 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 sembollerine giden yollar sağlama

2. Şekil. Sembollerde hata ayıklama yöntemleri.

Yerel kaynak dosyalar Proje penceresinde görünür. Ayrılma 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.