news 2026/5/8 7:18:55

【大前端】【Android】获取第三方APK安装信息

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【大前端】【Android】获取第三方APK安装信息

一、能获取哪些 APK 信息?

✅ Android 允许获取(常见)

信息是否可获取说明
包名(packageName)核心标识
版本号 / versionCodeversionName / longVersionCode
应用名label
安装时间 / 更新时间firstInstallTime
APK 路径⚠️Android 10+ 受限
签名信息⚠️Android 9+ 需新 API
UID系统分配
是否系统应用flag

❌ 基本禁止 / 强限制

行为说明
获取「所有已安装应用列表」Android 11+ 默认禁止
扫描竞品 / 上报Play 风控高危
读取 APK 文件内容Scoped Storage 限制

二、Android 版本关键分水岭(非常重要)

版本变化
Android 8-几乎无限制
Android 9签名 API 变化
Android 10APK 路径受限
Android 11+包可见性(Package Visibility)机制

三、Android 11+ 必须理解的「包可见性」

👉你“看得见”的 App,才能获取 APK 信息

1️⃣ Manifest 声明可见包(强烈推荐)

<manifest ...> <queries> <!-- 指定包名 --> <package android:name="com.tencent.mm" /> <!-- 指定 Intent --> <intent> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent> </queries> </manifest>

📌 特点:

  • 白名单机制

  • 审核重点检查

  • 数量不宜多


2️⃣ 查询所有应用(高危)

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>

🚨Google Play 强监管权限

  • 非文件管理 / 设备管理 / 安全类应用100%拒审

  • 必须在 Play Console 写强理由


四、核心代码示例(通用)

1️⃣ 获取单个应用 APK 信息(推荐)

PackageManager pm = context.getPackageManager(); try { PackageInfo info = pm.getPackageInfo( "com.tencent.mm", PackageManager.GET_SIGNING_CERTIFICATES ); String packageName = info.packageName; String versionName = info.versionName; long versionCode = info.getLongVersionCode(); long installTime = info.firstInstallTime; long updateTime = info.lastUpdateTime; String apkPath = info.applicationInfo.sourceDir; } catch (PackageManager.NameNotFoundException e) { // 未安装 }

2️⃣ 获取应用名 / 图标

ApplicationInfo ai = pm.getApplicationInfo("com.tencent.mm", 0); String appName = pm.getApplicationLabel(ai).toString(); Drawable icon = pm.getApplicationIcon(ai);

3️⃣ 获取签名信息(Android 9+ 正确姿势)

PackageInfo info = pm.getPackageInfo( "com.tencent.mm", PackageManager.GET_SIGNING_CERTIFICATES ); SigningInfo signingInfo = info.signingInfo; Signature[] signatures = signingInfo.hasMultipleSigners() ? signingInfo.getApkContentsSigners() : signingInfo.getSigningCertificateHistory();

五、列出“可见”的所有应用(谨慎)

List<PackageInfo> list = pm.getInstalledPackages(PackageManager.GET_META_DATA);

⚠️ Android 11+ 只能拿到:

  • 自己

  • <queries>声明的

  • 系统允许的


六、APK 文件信息(不需要已安装)

解析本地 APK(安装包)

PackageInfo info = pm.getPackageArchiveInfo( "/sdcard/test.apk", PackageManager.GET_ACTIVITIES ); if (info != null) { ApplicationInfo appInfo = info.applicationInfo; appInfo.sourceDir = appInfo.publicSourceDir = "/sdcard/test.apk"; String pkg = info.packageName; }

📌 适合:

  • 文件管理器

  • APK 安装前检测


七、风控 & 审核建议(非常重要)

❌ 高风险行为

  • 静默扫描已安装 App

  • 上报完整 App 列表

  • 未声明用途调用 QUERY_ALL_PACKAGES

✅ 合规建议

  • 只查业务必要 App

  • 白名单 + queries

  • 明示用途(跳转 / 兼容性)


八、常见业务场景 → 推荐方案

需求推荐
判断是否安装微信指定包名查询
App 跳转PackageManager + Intent
设备风控行为 + 网络
APK 检测本地解析 APK
竞品分析❌ 不合规

九、一句话总结

Android 可以获取第三方 APK 信息,但:

  • Android 11+你看不见 = 拿不到

  • QUERY_ALL_PACKAGES= 审核高压线

  • 白名单 + 单包查询才是正道

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/3 10:43:28

Xenia Canary重构指南:现代PC上的Xbox 360游戏革命

Xenia Canary重构指南&#xff1a;现代PC上的Xbox 360游戏革命 【免费下载链接】xenia-canary 项目地址: https://gitcode.com/gh_mirrors/xe/xenia-canary 想要在现代电脑上重温《光环》系列、《战争机器》等Xbox 360经典游戏吗&#xff1f;Xenia Canary作为目前最先进…

作者头像 李华
网站建设 2026/5/7 0:44:06

移动设备Windows应用终极指南:从零到完美显示

移动设备Windows应用终极指南&#xff1a;从零到完美显示 【免费下载链接】mobox 项目地址: https://gitcode.com/GitHub_Trending/mo/mobox 在移动设备上运行Windows应用已经成为现实&#xff0c;通过Mobox与Termux-X11的强大组合&#xff0c;我们可以在手机上获得接近…

作者头像 李华
网站建设 2026/5/1 0:45:48

杭州商业空间效果图可靠之选,半条鱼设计公司咋样?

杭州商业空间效果图可靠之选&#xff0c;半条鱼设计公司测评在杭州&#xff0c;商业空间的设计至关重要&#xff0c;而效果图更是项目前期的关键展示。半条鱼设计公司作为行业内的一员&#xff0c;究竟表现如何呢&#xff1f;下面就为大家详细测评。专业可靠的设计实力半条鱼设…

作者头像 李华
网站建设 2026/5/2 2:44:16

网络安全专业,在校大学生如何赚外快,实现财富自由?

如今&#xff0c;计算机行业内卷严重&#xff0c;我们不找点赚外快的路子这么行呢&#xff1f; 今天就来说说网络安全专业平时都怎么赚外快。 一、安全众测 国内有很多成熟的src众测平台&#xff0c;如漏洞盒子、火线众测、补天、CNVD、漏洞银行等。一些大厂也有自己的src&a…

作者头像 李华
网站建设 2026/5/5 17:19:14

QuickMapServices:QGIS插件地图服务一键添加终极指南

QuickMapServices是一款功能强大的QGIS地理数据服务插件&#xff0c;它彻底改变了传统地图服务添加的复杂流程。这款开源工具让用户能够一键发现并添加各种地图服务作为基础图层&#xff0c;为GIS工作流程带来革命性的便捷体验。 【免费下载链接】quickmapservices QGIS plugin…

作者头像 李华
网站建设 2026/5/3 10:39:01

BlockTheSpot:3分钟快速拦截Spotify广告的终极解决方案

BlockTheSpot&#xff1a;3分钟快速拦截Spotify广告的终极解决方案 【免费下载链接】BlockTheSpot Video, audio & banner adblock/skip for Spotify 项目地址: https://gitcode.com/gh_mirrors/bl/BlockTheSpot 还在为Spotify的频繁广告打断而烦恼吗&#xff1f;Bl…

作者头像 李华