Подтвердить что ты не робот

Как получить файл *.apk на Android-устройстве

Нужна помощь, извлекая *.apk имя файла из Android-устройства programmaticaly? Может ли любой орган предоставить некоторые методы Android, которые делают это или даже команды оболочки, запускаемые под Android, чтобы получить местоположение файла, если я знаю только часть из имени файла?

Также, если есть способ узнать, где файл *.apk отправился после загрузки с Market или вне Market?

Спасибо заранее.

4b9b3361

Ответ 1

List<ApplicationInfo> PackageManager.getInstalledApplications() предоставит вам список установленных приложений и ApplicationInfo.sourceDir - это путь к файлу .apk.

PackageManager pm = getPackageManager();

for (ApplicationInfo app : pm.getInstalledApplications(0)) {
  Log.d("PackageList", "package: " + app.packageName + ", sourceDir: " + app.sourceDir);
}

Выводит что-то вроде этого:

package: com.tmobile.themechooser, sourceDir: /system/app/ThemeChooser.apk
package: com.tmobile.thememanager, sourceDir: /system/app/ThemeManager.apk
package: com.touchtype.swiftkey, sourceDir: /data/app/com.touchtype.swiftkey-1.apk
package: com.twitter.android, sourceDir: /data/app/com.twitter.android-2.apk
package: fm.last.android, sourceDir: /data/app/fm.last.android-1.apk

Ответ 2

$ adb shell pm list packages -f

Ответ 3

Вы также можете сделать adb bugreport и посмотреть результат. Вам нужно искать <package name="com.app.package" codePath="path/to/the/app.apk"...

Ответ 5

Загружаемые приложения идут в /data/app, поэтому с помощью ls вы можете получить список загруженных apks.