Apk'nin yüklü dosya adını biliyorsanız (bazı cihazlarda myapp.apk yerine myapp-1.apk veya myapp-2.apk olabilir) buna bir adb gibi sıradan bir kullanıcı olarak doğrudan erişebilirsiniz. güvenli bir cihazda, bu nedenle onu çekebilmeniz gerekir. Yüklü apk adını bilmiyorsanız, root / aid_system olmadan / data / app dizinine göz atamazsınız.
Yüklü adda tahmin etmeye değer olabilir - düz deneyin, -1.apk ve -2.apk ile deneyin.
Başka bir yol olabilir: Aşağıdakilerin güvenli bir cihazda çalışacağına inanıyorum, ancak şu anda test etmek için önümde bir tane yok.
EDIT: Tam APK dosya adını belirlemek için yeni fikir
1) adb pull /data/system/packages.xml
2) Uygulamanızın codePath girişi için bakın
3) adb çekin
DÜZENLEME: Aşağıdaki eski fikirle ilgili olarak, Matthew / proc altındaki işlem başına dosyalar güvenli bir aygıtta okuma iznine sahipken, sahiplerinin dışında ayrıcalıklı olmayan bir kullanıcı tarafından okunduklarında boş olduklarını keşfetti. Yani bu işe yaramayacak.
1) Uygulamanızı çalıştırın. Ayrıca adb'li bir makineye ihtiyacınız olacak.
2) tip
adb shell ps
ve uygulamanızın adının bulunduğu satırı arayın:
app_1 11959 907 112984 27580 ffffffff afd0c5bc S com.clevername.myapp
3) işlem kimliği olan ikinci sütundaki sayıyı alın ve sanal bellek haritasını görüntüleyin, bu durumda yazarım
adb shell cat /proc/11959/maps
ve kendi apk dosyasını belleğe eşleştirdiği bir çizgi arayın
43e9c000-43ea3000 r--s 001f4000 b3:06 15393 /data/app/com.clevername.myapp-1.apk
4) Çekmek için ihtiyacınız olan dosya adı
adb pull /data/app/com.clevername.myapp-1.apk .
/ Proc içindeki dizin izinlerinin incelenmesi, bunun ayrıcalıklı olmayan bir kullanıcı için çalışması gerektiğini, özür dilerim değilse özür dilerim. Eğer 'grep' kullanımını biliyorsanız, çıktıyı manuel olarak taramaktan kaçınmak için bunu kullanabilirsiniz.
Ek: SD karta yüklenen uygulamalardaki hikayenin ne olduğundan emin değilim.
adb shell cat /proc/####/maps
maalesef hiçbir şey döndürmüyor.