为了账号安全,请及时绑定邮箱和手机立即绑定

如何获得没有root用户访问权限的已安装应用的APK?

如何获得没有root用户访问权限的已安装应用的APK?

慕的地10843 2019-11-05 11:07:16
我正在尝试提取没有root权限的已安装Android应用的APK文件。我认为这是不可能的,因为非系统应用程序的所有APK文件都位于/ data / app中,访问此文件夹需要root权限。然后,我发现Google Play商店中有许多应用程序似乎可以访问APK文件,即使在非根目录设备上也是如此。有人可以告诉我这怎么可能吗?没有备份应用程序可以无根备份APK文件吗?
查看完整描述

3 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

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


查看完整回答
反对 回复 2019-11-05
?
墨色风雨

TA贡献1853条经验 获得超6个赞

您不需要ROOT权限即可获取已安装应用程序的列表。


您可以使用android PackageManager做到这一点。


以下是一个小代码段。


final PackageManager pm = getPackageManager();

//get a list of installed apps.

List<ApplicationInfo> packages =  pm.getInstalledApplications(PackageManager.GET_META_DATA);


for (ApplicationInfo packageInfo : packages) {

    Log.d(TAG, "Installed package :" + packageInfo.packageName);

    Log.d(TAG, "Apk file path:" + packageInfo.sourceDir);

}


查看完整回答
反对 回复 2019-11-05
  • 3 回答
  • 0 关注
  • 619 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信