获取已安装应用的APK
我正在寻找一种方法来解压安装的Android应用程序的APK文件,而无需root权限。
我认为这是不可能的,因为所有用于非系统应用的APK文件都位于/ data / app中,并且访问此文件夹需要root权限。 然后,我发现Google Play中有很多应用程序似乎可以访问APK文件,即使在没有根的设备上也是如此。
有人能告诉我这可能吗? 没有备份没有root权限的APK文件的备份应用程序吗?
访问/ data / app可能没有root权限; 该目录上的权限是rwxrwx - x。 目录上的执行权限意味着您可以访问它,但是缺少读取权限意味着您无法获得其内容列表 - 因此,要访问它,您必须知道您将访问的文件的名称。 Android的包管理器会告诉你一个给定包的存储apk的名字。
要从命令行执行此操作,请使用adb shell pm list packages
获取已安装软件包的列表并找到所需的软件包。
使用软件包名称,我们可以使用adb shell pm path your-package-name
来获取APK的实际文件名和位置。
知道完整的目录后,我们可以使用adb pull full/directory/of/the.apk
来拉取adb
感谢@tarn指出在Lollipop下,apk路径将是/data/app/your-package-name-1/base.apk
Android会在程序包名称后附加一个序列号以产生最终的APK文件名称(这可能会因Android OS的版本而异)。 以下命令序列在非根设备上工作:
获取所需软件包的APK文件的完整路径名称。
adb shell pm path com.example.someapp
这给出了输出: package:/data/app/com.example.someapp-2.apk
。
将APK文件从Android设备拖到开发框。
adb pull /data/app/com.example.someapp-2.apk
Google Play商店中有一款名为“Apk extracter”的应用。 通过这个应用程序,你可以得到安装应用程序的.apk文件。 获取并享受!
链接地址: http://www.djcxy.com/p/31971.html下一篇: Is it legal to decompile an APK and use part of its code in your app