APKファイル設置パスいろいろ (Market/SD Card/Preinstalled)
- 背景)Android MarketからダウンロードしたAPKやSDカードに移動する行為をした場合のAPKファイルの設置先などについてまとめてみた
Android MarketからダウンロードしたAPKファイルの置き場
- 設置先は/data/app/以下
- /data以下はroot permissionが必要 (rootないけどls的なことがしたい場合は後述)
- 後述するが直接apkのファイルPATHを直接指定すればrootは不要。
adb pull /data/app/XXXX.apk
どのパッケージが入っているか確認する
- package managerからfile pathを取得できる
adb shell pm list packages -f | grep パッケージ名
上記package managerから取得したpathを直接指定する
adb pull /data/app/パッケージ名-1.apk等
SDカードに移動した場合
- Android 2.2からSDカードにアプリを移動できるようになった
- Apkの実態形式ではなく機種ごとに固有のキーで暗号化されたapkファイルが設置される。
- /mnt/sdcard以下はrootでなくても操作できるため
- アプリ固有なプライベート("the dex files, private data directories, and native shared libraries")なデータについては引き続き本体に残る
- 設置先は/mnt/asec/以下にパッケージ名のpathが作られ、そこ以下にdex等がばらされた上で暗号化されたapkとして保管される
プリインストールされているアプリ
- ブラウザアプリなど初めからはいっているアプリは
- 設置先/system/app/以下(が多い)