Setelah Android menginstal aplikasi dari Marketplace, apakah itu menyimpan file .apk?
Apakah ada lokasi standar di mana Android akan menyimpan file seperti itu?
Aplikasi yang sudah diinstal sebelumnya ada di /system/app
folder. Aplikasi yang diinstal oleh pengguna berada di /data/app
. Saya kira Anda tidak dapat mengakses kecuali Anda memiliki ponsel yang di-rooting. Saya tidak memiliki ponsel yang di-rooting di sini tetapi coba kode ini:
public class Testing extends Activity {
private static final String TAG = "TEST";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File appsDir = new File("/data/app");
String[] files = appsDir.list();
for (int i = 0 ; i < files.length ; i++ ) {
Log.d(TAG, "File: "+files[i]);
}
}
Itu memang mencantumkan apks di magic htc saya yang telah di-root dan di emu.
Anda dapat menggunakan manajer paket (
pm
)adb shell
ke daftar paket:dan untuk menampilkan di mana
.apk
file tersebut:Dan
adb pull
untuk mengunduh apk.sumber
adb pull /data/app/com.example.app-filename.apk path/to/desired/destination
Jika Anda hanya ingin mendapatkan file APK dari sesuatu yang sebelumnya Anda instal, lakukan ini:
Anda tidak perlu me-root ponsel Anda, menggunakan
adb
, atau menulis apa pun.sumber
Tidak ada lokasi standar, namun Anda dapat menggunakan PackageManager untuk mencari tahu tentang paket dan kelas ApplicationInfo yang bisa Anda dapatkan dari sana memiliki berbagai informasi tentang paket tertentu: path ke .apk, path ke direktori datanya, path ke .apk khusus sumber daya (untuk aplikasi yang dikunci ke depan), dll. Perhatikan bahwa Anda mungkin atau mungkin tidak memiliki izin untuk membaca direktori ini tergantung pada hubungan Anda dengan aplikasi lain; namun, semua aplikasi dapat membaca resource .apk (yang juga merupakan .apk nyata untuk aplikasi yang tidak dikunci).
Jika Anda hanya mencari-cari di dalam shell, aplikasi yang saat ini tidak dikunci terletak di /data/app/.apk. Pengguna shell dapat membaca .apk tertentu, meskipun ia tidak dapat mencantumkan direktori. Dalam rilis mendatang konvensi penamaan akan diubah sedikit, jadi jangan berharap tetap sama, tetapi jika Anda mendapatkan jalur .apk dari manajer paket maka Anda dapat menggunakannya dalam shell.
sumber
Aplikasi pra-instal biasanya di / sistem / aplikasi dan aplikasi yang diinstal pengguna di / data / aplikasi.
Anda dapat menggunakan "adb pull", tetapi Anda harus mengetahui path lengkap file APK. Pada emulator, Anda bisa mendapatkan daftar direktori menggunakan "adb shell" + "ls". Tetapi pada perangkat android, Anda tidak akan dapat melakukannya di folder "/ data" karena alasan keamanan. Jadi bagaimana Anda mengetahui path lengkap file APK?
Anda bisa mendapatkan daftar lengkap semua aplikasi yang diinstal dengan menulis program yang menanyakan PackageManager. Cuplikan kode pendek di bawah ini:
Anda juga dapat menemukan aplikasi yang akan memberikan info tersebut. Ada banyak dari mereka. Coba yang ini (AppSender).
sumber
Jika Anda mencari jalur aplikasi tertentu, solusi cepat dan kotor adalah dengan hanya menerima laporan bug:
Saya tidak tahu bahwa ini akan memberikan daftar lengkap, jadi mungkin membantu menjalankan aplikasi terlebih dahulu.
sumber
Instal dari pasar
Ini adalah perilaku marketplace apakah akan menjaga apk setelah instalasi. Google play tidak menyimpan apk setelah instalasi. Pasar pihak ketiga lainnya mungkin memiliki perilaku yang berbeda.
Instal dari alat pengembangan / debug (adb, eclipse, android studio)
Ketika kita menginstal apk dari alat debug, secara langsung memanggil
adb install
atau dari eclipse / android studio, apk akan ditransfer (adb push
) ke direktori baca publik dan dapat ditulis, biasanya/data/local/tmp/
. Setelah itu, alat akan menggunakanpm
perintah untuk menginstal, itu akan menghapus apk sementara di/data/local/tmp/
setelah instalasi berhasil.Kami bisa mendapatkan informasi ini dari hasil debug seperti berikut.
Bagaimana sistem menjaga apk
Tentu saja sistem harus menyimpan semua aplikasi di suatu tempat. Ada tiga tempat bagi sistem untuk menjaga apks berdasarkan berbagai jenis apks:
untuk aplikasi stok
Itu biasanya dikirim dalam perangkat oleh manufaktur, termasuk aplikasi inti untuk menjalankan sistem dan layanan google, Anda dapat menemukannya di bawah direktori
/system/app
dan/system/priv-app
.aplikasi yang dipasang pengguna
Sebagian besar aplikasi masuk dalam kategori ini. Apks ini biasanya dipasang dari pasar oleh pengguna atau
adb install
tanpa-s
opsi. Anda dapat menemukannya di bawah direktori/data/app
untuk perangkat yang di-rooting.aplikasi di sdcard
Jika apk mengaktifkan lokasi instalnya di sdcard dengan manifesnya
android:installLocation="auto"
, aplikasi dapat dipindahkan ke sdcard dari menu manajer aplikasi sistem. Apks ini biasanya terletak di folder sdcard yang aman/mnt/sdcard/asec
.Cara lain untuk memaksa lokasi instalasi ke sdcard adalah dengan menggunakan perintah
adb install -s apk-to-install.apk
.Sebagai catatan, file untuk aplikasi pra-instal tidak ada dalam satu
.apk
file lagi. Ada folder yang berisi file untuk setiap aplikasi pra-instal di direktori/system/app
atau/system/priv-app
untuk rilis android terbaru.sumber
Anda dapat menarik aplikasi dengan ADB. Mereka ada di / data / App /, saya percaya.
Perhatikan bahwa Anda harus melakukan root pada ponsel Anda untuk menarik aplikasi yang dilindungi salinan.
sumber
Dalam / data / aplikasi tetapi untuk perlindungan salinan Saya rasa Anda tidak dapat mengaksesnya.
sumber
Jika Anda di-root, unduh aplikasi Root Explorer. Manajer file terbaik untuk pengguna yang di-rooting. Bagaimanapun, Sistem / aplikasi memiliki semua aplikasi default yang datang dengan telepon, dan data / apk memiliki semua aplikasi aplikasi yang telah Anda instal. Cukup tekan lama pada apk yang Anda inginkan (saat di Root Explorer), buka folder / sdcard Anda dan cukup tempel.
sumber
Gunakan ini untuk mendaftar semua .apks di bawah / data / app /
sumber
Anda dapat menarik .apks dari salah satunya:
sumber
File .apk dapat ditemukan di bawah / data / app / direktori. Menggunakan ES File Explorer, kita dapat mengakses file .APK ini.
sumber
jika Anda menggunakan eclipse goto DDMS dan kemudian file explorer di sana Anda akan melihat folder System / Apps dan apks ada di sana.
sumber
Ketika saya menginstal aplikasi saya di emulator, itu menunjukkan file .apk saya di
Setelah Anda menginstal aplikasi Anda cukup gunakan ls command vie shell dan periksa direktori yang diinginkan tetapi itu tergantung pada jenis aplikasi yang Anda coba instal. Saya menggunakan metode ini untuk Menginstal Point jika ada sesuatu yang salah.
sumber
Cara lain untuk mendapatkan yang
apk
tidak dapat Anda temukan, pada perangkat yang di-rooting adalah dengan kotak alat rom .Buat cadangan menggunakan pengelola aplikasi kemudian buka
storage/emulated/appmanager
dan periksa apakah cadangan aplikasi sistem atau cadangan aplikasi pengguna .sumber
Untuk menemukan
apk
, unduh dan Instal Pengirim Aplikasi Bluetooth dari Play store. Setelah instalasi selesai, buka Pengirim Aplikasi Bluetooth. Ini akan menunjukkan semua aplikasi yang(.apk)
diinstal di perangkat Anda, maka Anda dapat dengan mudah mentransfer aplikasi ke PC Anda melalui Bluetooth.sumber
Berbeda dengan apa yang tertulis pada jawaban yang dipilih, Anda tidak perlu root dan dimungkinkan untuk mendapatkan APK dari aplikasi yang diinstal, yang merupakan cara saya melakukannya pada aplikasi saya (di sini ). Contoh:
Kemudian, untuk setiap item dalam daftar, Anda dapat mengakses packageInfo.applicationInfo.sourceDir , yang merupakan jalur lengkap APK dari aplikasi yang diinstal.
sumber
Yah saya datang ke posting ini karena saya ingin menginstal ulang beberapa aplikasi yang saya sukai. Jika ini kasus Anda, buka Google Play, dan cari Aplikasi Saya, tab Semua, dan Anda akan menemukan cara untuk menginstal ulang beberapa aplikasi yang Anda sukai. Saya menghadapi masalah yang tidak dapat saya temukan dengan mencari satu aplikasi, tetapi ada di aplikasi saya sehingga saya bisa menginstal ulang di ponsel baru saya;)
sumber