AndroidManifest.xml APK dosyasından nasıl görüntülenir?


309

Androidmanifest.xmlDosya görüntülenebilir mi?

apkDosyanın uzantısını yeni olarak değiştirdim zip. Bu zipdosya dosyayı içerir Androidmanifest.xml. Ancak içeriğini görüntüleyemiyorum Androidmanifest.xml. Tamamen şifrelenmiştir.

Androidmanifest.xmlDosyayı nasıl görüntüleyebilirim ?


Bir APK dosyam var. Androidmanifest.xml dosyasını görüntülemem gerekiyor. çünkü bir çerçeve kullandım. Bu APK dosyası da aynı çerçeveyi kullandı. Bu yüzden Androidmanifest dosyasını bu APK dosyasından nasıl yapılandıracağımı görmem gerekiyor.
Kasım'da bharath

@Jason Rogers: AFAIK bu bilgileri görüntüleyebilirsiniz. Bkz bu
Vikas Patidar

Yanıtlar:


220

Evet XML, bir Android APKdosyanın dosyalarını görüntüleyebilirsiniz . Bunun için bir araç var:android-apktool

3. taraf, kapalı, ikili Android uygulamaları tersine mühendislik için bir araçtır

Bunu Windows Sisteminizde nasıl yapabilirsiniz:

  1. Apktool-install-windows- * dosyasını indir
  2. Apktool- * dosyasını indir
  3. Her ikisini de Windows dizininize açın

Şimdi APKdosyayı da bu dizine kopyalayın ve komut isteminizde aşağıdaki komutu çalıştırın:

apktool d HelloWorld.apk ./HelloWorld

Bu, HelloWorldgeçerli dizininizde " " bir dizin oluşturur . İçinde AndroidManifest.xmldosyayı şifresi çözülmüş biçimde bulabilirsiniz ve ayrıca dizinin XMLiçindeki diğer dosyaları da bulabilirsiniz "HelloWorld/res/layout".

İşte HelloWorld.apkAndroid APK dosyanız.

Daha fazla bilgi için aşağıdaki ekran görüntüsüne bakın: alternatif metin


15
Bu güzel, ama tüm bunları indirmek zorunda kalmadan AndroidManifest.xml'ye nasıl bakacağımı bilmek istiyorum. Şifrelenmiş veya sıkıştırılmış mı?
JohnnyLambada

1
@JohnnyLambada : Evet, WinRar / WinZip / 7Zip gibi bir arşivleme aracında açabilir ve görüntüleyebilirsiniz, ancak şifreli formda olduğu için anlamsızdır.
Vikas Patidar

9
Apktool kullanımdan kaldırıldı. En son sürüm için proje ana sayfasına bakın .
Deqing

1
Ben alıyorum: "ana" iş parçacığında istisna brut.androlib.AndrolibException: Birden fazla kaynak: brut.androlib.res.data.ResConfig.addResource (Bilinmeyen Kaynak)
WindRider

3
Şimdi komut en son sürüm için değiştiapktool d your_destination youraApk.apk
Pranoy Sarkar

109

Android Studio şimdi bunu gösterebilir. Gidin Build> Analyze APK...ve apk'nizi seçin. Ardından AndroidManifset dosyasının içeriğini görebilirsiniz.


3
Bu özellik yakın zamanda eklendi ve ayrıca komut satırını kullanmaya hevesli olmadığınız ve yolunuzda platform araçları bulunmadığı sürece bunu önermek istiyorum.
anthonymonori

8
bu en iyi cevap olmak için değerlendirilmelidir, diğer yöntemler artık gereksiz yere karmaşıktır.
Sébastien

3
Bu yerleşikin de bir komut satırı sürümü var: stackoverflow.com/a/54874783/89818
caw

46

aapt d xmltree com.package.apk AndroidManifest.xml

dökümü olacak AndroidManifest.xmlBelirtilen APK'nızdan. XML biçiminde değil, yine de okuyabilirsiniz.

aapt (Android Varlık Paketleme Aracı), Android SDK ile birlikte gelen yerleşik bir araçtır.


45

Bu ise iplik Dianne Hackborn biz aapt kullanılarak AndroidManifest ait bilgi çıkabiliriz söyler.

Sürüm bilgilerini almak için bu hızlı unix komutunu çırptım:

aapt dump badging my.apk | sed -n "s/.*versionName='\([^']*\).*/\1/p"

Android uygulamasında bile yapmak mümkün mü? Ayrıca, sadece sürüm adını değil, tüm manifest dosyasını almak mümkün mü?
android geliştirici

36

Google, APK'ları incelemek için platformlar arası açık kaynaklı bir araç yayınladı (diğer birçok ikili Android biçiminin yanı sıra):

ClassyShark Android geliştiricileri için bağımsız bir ikili denetim aracıdır. Güvenilir bir şekilde herhangi bir Android çalıştırılabilirine göz atabilir ve sınıf arayüzleri ve üyeleri, dex sayımları ve bağımlılıklar gibi önemli bilgileri gösterebilir. ClassyShark, kütüphaneler (.dex, .aar, .so), yürütülebilir dosyalar (.apk, .jar, .class) ve tüm Android ikili XML'leri dahil olmak üzere birden çok biçimi destekler: AndroidManifest, kaynaklar, düzenler vb.

ClassyShark ekran görüntüsü


3
Bu Apktool'dan 10000 kat daha kolay!
Guilherme Campos Hazan

18

Android SDK ile birlikte apkanalyzergelen APK Analyzer'ın komut satırı sürümünü kullanabilirsiniz . Sadece CLI üzerinde aşağıdaki komutu yürütün:

/path/to/android-sdk/tools/bin/apkanalyzer manifest print /path/to/app.apk

Yalnızca /path/to/android-sdkAndroid SDK sürümünüzün doğru yolunu ve /path/to/app.apkAPK dosyanızın yolunu değiştirmeniz gerekir.


8
Doğrulanmamış kaynaklardan herhangi bir şey kurmayı gerektirmediği için bu kabul edilen cevap olmalıdır.
c4k

bunun Windows üzerinde çalışmadığını unutmayın :( stackoverflow.com/a/54593118/997940
Yoav Feuerstein

Hata alıyorum: "ana" iş parçacığında özel durum java.lang.IllegalStateException: Araçlar dizini özelliği ayarlanmadı, lütfen apkanalyzer yürüttüğünüzden emin olun, nasıl çözüleceğini bilmiyordum
jk2K

MacOS kullanıyorsanız, büyük olasılıkla ihtiyacınız olan yol budur:~/Library/Android/sdk/tools/bin/apkanalyzer manifest print <apk>
Frederik

15

Bu komutu kullanabilirsiniz: dosyaya kaydet AndroidManifest.txt

aapt dump xmltree gmail.apk AndroidManifest.xml > AndroidManifest.txt

2
dkısaltmasıdır dumpözdeş bu cevabı yapar, bu bir daha bir yıl önce daha gönderilmiş.
Dan Dascalescu

4
Evet, ancak bu kod dosyaya kaydedilir > AndroidManifest.txt.
Ahmad Aghazadeh

lol, bu aynı cevap, dosyayı boşaltma fark
yaratmıyor


7

Orada Onu decompiles bir APK yüklemenize olanak tanıyan bir online araçtır ve nihayet bütün kaynaklarla zip, bildirim XML dosyası ve böylece decompiled üzerine, bütün bunlar bilgisayarınıza herhangi bir program yüklemek zorunda kalmadan indirmek için yapmanızı sağlar: http: / /www.javadecompilers.com/apk

Ayrıca, sadece kendi parametrelerini kontrol etmek isterseniz, kullanıcı arayüzlerine göre


Ağustos ayında bir APK üzerinde çalıştı, Kasım ayında başka bir
telefonda çalışmadı

apktools çıktı ile benim için bir dizin oluşturma gibi görünmüyordu ve aapt sonucu XML biçiminde göstermedi. Bu web sitesi bir cazibe gibi çalıştı.
kregus

6

AxmldecAndroidManifest.xml kullanarak dosyanın kodunu çözmek için :

axmldec -o output.xml AndroidManifest.xml

veya

axmldec -o output.xml AndroidApp.apk

Bu çalışır ve Homebrew ile kolayca kurulabilir:brew tap ytsutano/toolbox brew install axmldec
gmoz22

5

Android SDK oluşturma araçlarında bulunan Aapt2 bunu yapabilir - üçüncü taraf araçlara gerek yoktur.

$(ANDROID_SDK)/build-tools/28.0.3/aapt2 d --file AndroidManifest.xml app-foo-release.apk

Build-tools v29 ile başlayarak şu komutu eklemelisiniz xmltree:

$(ANDROID_SDK)/build-tools/29.0.3/aapt2 d xmltree --file AndroidManifest.xml app-foo-release.apk

Bu orijinal XML çıktı vermez, ancak APK'yı ayıklamak veya geçici bir dosyaya yazmak zorunda kalmadan orada bir değere bakmam gerekiyorsa temiz.
Raziel


0

Bu eski bir iş parçacığı, ama ben telefonun kök var bahsetmek düşündüm, kök explorer uygulamasını kullanarak doğrudan telefonunuzda görebilirsiniz. Görmek için onu çıkarmak zorunda bile değilsin.


-1

Dosyanın kodunun çözülmesi gerekir (veya hangisinin deodex olduğundan emin olmaz). Ama işte bunu yapmanın başka bir yolu:

-Download free Tickle My Android tool on XDA: https://forum.xda-developers.com/showthread.php?t=1633333https://forum.xda-developers.com/showthread.php?t=1633333
-Unzip
-Copy APK into \_WorkArea1\_in\ folder
-Open "Tickle My Android.exe"
-Theming Menu
-Decompile Files->Any key to continue (ignore warning)
-Decompile Files->1->[Enter]->y[Enter]
-Wait for it to decompile in new window... Done when new window closes
-Decompiled/viewable files will be here: \_WorkArea3\_working\[App]\

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.