How to get the file *.apk location in Android device

前端 未结 5 1989
小蘑菇
小蘑菇 2020-11-30 04:22

Need some help by retrieving *.apk file name from Android device programmaticaly ? Could any body provide some Android methods doing that or even shell commands run under An

相关标签:
5条回答
  • 2020-11-30 04:37

    This gave me path in form /data/app/xxx.apk:

    https://developer.android.com/reference/android/content/Context.html#getPackageResourcePath%28%29

    0 讨论(0)
  • 2020-11-30 04:44

    The apps that you download go to /data/app so using ls you can get a list of the downloaded apks.

    0 讨论(0)
  • 2020-11-30 04:49
    $ adb shell pm list packages -f
    
    0 讨论(0)
  • 2020-11-30 04:56

    List<ApplicationInfo> PackageManager.getInstalledApplications() will give you a list of the installed applications, and ApplicationInfo.sourceDir is the path to the .apk file.

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

    Outputs something like this:

    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
    
    0 讨论(0)
  • 2020-11-30 04:56

    You can also do adb bugreport and look at the output. You'll want to look for <package name="com.app.package" codePath="path/to/the/app.apk"...

    0 讨论(0)
提交回复
热议问题