当前位置: 首页 > article >正文

告别繁琐!用ApkInfoQuick快速提取APK关键信息

我开发了一个开源 APK 信息查看工具ApkInfoQuick最近我做了一个小工具名字叫ApkInfoQuick。它是一个面向 Android APK 文件的信息查看与解析工具支持桌面 GUI也支持 CLI 命令行。项目已经准备开源放到 GitHub 上希望能给经常分析 APK、测试包、渠道包、版本包的同学提供一点帮助。为什么要做这个工具平时在 Android 开发、测试、渠道分发、逆向分析或者自动化流水线里经常会遇到这些需求快速看一个 APK 的包名。确认应用名是不是解析正确。查看 versionCode、versionName。查看 minSdkVersion、targetSdkVersion、compileSdkVersion。看 APK 里声明了哪些权限。看支持哪些 ABI。提取应用图标。判断渠道信息有没有写进去。批量解析多个 APK。把解析结果复制成文本或 JSON。这些需求看起来都很简单但真正用起来经常需要在多个工具之间切换。有些老工具界面比较旧有些工具解析图标和应用名不稳定有些只支持 GUI不方便脚本自动化而命令行工具虽然强大但对日常查看又不够直观。所以我做了 ApkInfoQuick目标就是让 APK 信息查看这件事变得更快、更直观也更适合自动化。项目地址GitHub 地址https://github.com/TheDarkXian/ApkInfoQuick.git这里先放一个占位地址等仓库公开后替换成真实链接即可。主要功能ApkInfoQuick 当前支持拖拽 APK 到窗口自动解析。多文件标签页工作区。多 APK 按顺序自动解析。APK 图标预览。图标导出。包名、应用名、版本、SDK 信息展示。权限列表展示。ABI 列表展示。渠道信息展示。签名信息尽力解析。warnings 诊断信息展示。当前标签内容复制为纯文本。当前标签内容复制为 JSON。CLI 命令行解析。批量目录解析。CLI 导出 icon。目前 AAB 文件暂时是占位标签还没有做真实解析。后续计划会补上。桌面端效果桌面端基于 React Material UI Tauri 实现。核心交互很简单打开应用。把 APK 拖进去。自动解析。在标签页里查看结果。需要的话复制文本、复制 JSON 或导出 icon。我比较关注这个工具的信息密度所以界面不是那种展示型大留白 UI而是偏工具型布局。目标是尽量在首屏看到更多有用信息。CLI 用法除了 GUIApkInfoQuick 也提供 CLI。进入后端目录后可以运行cd backend cargo run--parse path\to\app.apk输出的是统一的 JSON Envelope{success:true,data:{packageName:com.example.app,appName:Example,iconUrl:file:///...,minSdkVersion:23,targetSdkVersion:35,compileSdkVersion:35,versionCode:1,versionName:1.0.0,permissions:[],signers:[],abis:[],channel:unknown},errorCode:null,errorMessage:null,warnings:[]}常用命令示例# 紧凑 JSONcargo run--parse path\to\app.apk--compact# 纯文本输出cargo run--parse path\to\app.apk--text# 解析并导出 iconcargo run--parse path\to\app.apk--export-icon.\icons# 递归批量解析目录cargo run--parse.\samples--recursive--out result.json# 检查工具链cargo run--doctorCLI 和 GUI 复用同一套 Rust 解析引擎所以结果是一致的。技术栈项目主要技术栈前端React、TypeScript、Vite、Material UI。桌面壳Tauri 2。后端解析Rust。APK 解析辅助aapt。压缩包读取zip。XML 处理quick-xml。CLI 参数解析clap。序列化serde、serde_json。整体结构大概是. |-- backend/ Rust 解析引擎和 CLI |-- frontend/ React UI 和 Tauri 桌面端 |-- tools/android/ 内置 Android 辅助工具 -- README.mdAPK 解析方案ApkInfoQuick 当前采用的是混合解析策略。第一层优先使用aaptaapt dump badgingaapt dump resourcesaapt dump xmltree这些能力对应用名、图标、资源引用等信息比较稳定。第二层是 Rust 自研兜底解析读取 APK zip。解析 AndroidManifest.xml。解析部分 resources.arsc 场景。扫描 res 下的 icon 资源。推断 ABI。解析渠道信息。尽力解析签名信息。一开始我尝试过只靠 Rust 自研解析但真实 APK 的情况很多特别是图标和应用名解析会遇到不少边界情况。后来又尝试过完全导向 aapt但也发现部分原本 Rust 能命中的 icon 反而丢失。所以最后采用了混合方案aapt 做主解析Rust 做字段级兜底和增强。这个方案目前效果比较稳定尤其是应用图标解析已经覆盖了不少真实 APK 场景。图标解析做了哪些处理APK icon 解析其实比想象中复杂。常见情况包括manifest 里直接写mipmap/ic_launcher。manifest 里写drawable/icon。带包名前缀的资源引用。资源 ID 引用比如0x7f...。roundIcon。adaptive icon XML。foreground / background 分层。png、webp、9.png 等不同格式。不同 density 目录比如 mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi。ApkInfoQuick 目前会综合多个策略选择最合适的图标并在界面里显示图标来源方便排查。比如可能显示aapt badgingaapt xmltreeresources.arsc 反查adaptive xmlheuristic fallback为什么做成开源这个工具本身是为了解决我自己的日常需求但 APK 信息查看其实是很多 Android 开发者、测试同学、工具开发者都会遇到的问题。开源之后希望它可以给需要的人直接使用。给想做 APK 工具的人提供参考。接收更多真实 APK 样本反馈。一起补齐更多边界情况。尤其是 APK 的资源格式、签名格式、渠道信息写法非常多靠一个人很难覆盖全部场景。开源以后如果大家遇到解析失败的 APK也可以提 issue 或 PR。当前状态目前比较稳定的能力APK 基础信息解析。应用名解析。图标解析与导出。权限、ABI、渠道展示。多文件标签页。CLI 单文件和批量解析。JSON / 文本复制。仍然需要继续完善的地方AAB 真实解析。更完整的签名证书解析。更多导出格式。更完善的安装包发布流程。macOS / Linux 的打包验证。本地开发前端开发cd frontend npm install npm run tauri:dev前端测试cd frontend npm run test----run后端测试cd backend cargo test构建桌面安装包cd frontend npm run tauri:build构建 CLIcd backend cargo build--release写在最后ApkInfoQuick 不是一个很复杂的大项目但它解决的是一个非常具体、非常高频的小问题。我一直觉得工具类项目最有意思的地方在于它不一定宏大但只要能让某个重复动作少几步、让某个排查过程快几分钟就已经有价值。如果你经常需要查看 APK 信息、分析测试包、检查渠道包欢迎试试这个工具。如果你有更复杂的 APK 样本也欢迎提 issue一起把它打磨得更好。GitHubhttps://github.com/TheDarkXian/ApkInfoQuick.git

相关文章:

告别繁琐!用ApkInfoQuick快速提取APK关键信息

我开发了一个开源 APK 信息查看工具:ApkInfoQuick 最近我做了一个小工具,名字叫 ApkInfoQuick。 它是一个面向 Android APK 文件的信息查看与解析工具,支持桌面 GUI,也支持 CLI 命令行。项目已经准备开源放到 GitHub 上&#xff0…...

智能图片去重工具AntiDupl.NET:4大核心模块高效释放存储空间终极指南

智能图片去重工具AntiDupl.NET:4大核心模块高效释放存储空间终极指南 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否经常面临手机相册被重复照片塞满…...

告别VL31N手工操作:用ABAP脚本批量创建内向交货单的自动化实践

告别VL31N手工操作:用ABAP脚本批量创建内向交货单的自动化实践 每天早晨,当SAP SD模块的业务员小王打开VL31N事务码准备处理采购到货时,总会被几十个待创建的交货单淹没。重复输入采购订单号、核对物料信息、点击保存——这样的机械操作不仅耗…...

抖音视频批量下载终极指南:4步打造你的专属内容库

抖音视频批量下载终极指南:4步打造你的专属内容库 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. …...

GHelper完整指南:3步轻松掌控华硕笔记本性能与续航

GHelper完整指南:3步轻松掌控华硕笔记本性能与续航 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar,…...

MAXIM美信 MAX30101EFD+T OLGA14 心率传感器

优势与特性 LED反射式心率监测器和脉搏血氧传感器 小巧的5.6mmx3.3mmx1.55mm 14引|脚光学模块集成盖板玻璃,实现最佳、稳健性能 移动设备超低功耗运行 可编程采样率和LED电流以节省电源 低功耗心率监测器(小于1毫瓦)超低关断电流(典型值0.7uA) 快速数据输出能力 高采…...

手机号查询QQ号完整指南:3分钟找回遗忘账号的终极解决方案

手机号查询QQ号完整指南:3分钟找回遗忘账号的终极解决方案 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾因忘记QQ号而无法登录重要账号?或者更换手机后,只记得手机号却找不到对应的QQ账…...

别再只用2D地图了!手把手教你用Vue3+ECharts GL打造可交互的3D中国地图(附完整代码和天空盒资源)

突破平面边界:用Vue3与ECharts GL构建沉浸式3D地理可视化方案 当数据可视化遇上三维空间,地图不再只是冰冷的平面轮廓。想象一下,你的用户可以通过鼠标拖拽360度旋转查看地形起伏,点击省份时区域会动态凸起响应,飞鱼线…...

生图新王GPT Image 2正式发布!彻底告别中文乱码,附无魔法国内稳定渠道

AI绘图圈又迎来了史诗级大地震!出乎所有人意料,OpenAI这次连发布会都没开,GPT-Image-2 就已经全量开放测试了。 目前,所有用户均可免费体验,但无论是免费用户还是付费用户,都会面临严格的额度限制。免费用…...

戴尔笔记本风扇终极管理指南:免费开源智能散热解决方案

戴尔笔记本风扇终极管理指南:免费开源智能散热解决方案 【免费下载链接】DellFanManagement A suite of tools for managing the fans in many Dell laptops. 项目地址: https://gitcode.com/gh_mirrors/de/DellFanManagement 你是否曾因戴尔笔记本风扇噪音过…...

期刊推荐:Journal of Artificial Intelligence and Soft Computing Research(ISSN: 2083-2567)

学科领域: 计算机-人工智能 期刊类型: SCI/SSCI/AHCI 收录数据库: SCI(SCIE) ISSN: 2083-2567 中科院: 2区 影响因子: 2.4 JCR: Q3 咨询获取专业投稿服务 Journal of Artificial Intelli…...

ImageGlass:Windows平台终极开源图像浏览解决方案,高效支持90+格式

ImageGlass:Windows平台终极开源图像浏览解决方案,高效支持90格式 【免费下载链接】ImageGlass 🏞 A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 在数字图像处理日益普及的今天&am…...

智能制造系统推广的核心的十个关键问题

推广智能制造系统(尤其是迈向资产共生阶段)时,不能只关注设备买入,急须解决以下十个关乎“成败”的核心问题:数据孤岛与协议兼容问题:底层设备品牌庞杂(Fanuc, Siemens, Omron 等)&a…...

Linux下Intel AX101 WiFi 6驱动问题解决方案

1. 问题背景:Alder Lake-N迷你主机在Linux下的WiFi 6兼容性问题最近搭载Intel Alder Lake-N处理器(如N95、N100、Core i3-N300/N305)的迷你主机因其出色的性价比受到广泛关注。这类设备通常配备Intel AX101无线模块,支持WiFi 6&am…...

Git误提交恢复

先执行语句: git reset --mixed HEAD~1add了,也commit了,发现crmeb.zip忘记删除,这个文件不用提交实际执行语句...

别再乱刷了!手把手教你读懂Android卡刷包里的updater-script脚本(附权限设置详解)

深度解析Android卡刷包:从updater-script脚本到安全刷机实践 在Android设备刷机过程中,updater-script脚本扮演着至关重要的角色。这个看似简单的文本文件实际上控制着整个刷机流程的每一个细节操作。对于想要深入了解刷机原理或自行定制ROM的用户来说&a…...

FPGA工程师的JESD204B通关指南:从Subclass1链路建立到调试避坑(附Xilinx/Intel IP核使用心得)

FPGA工程师的JESD204B实战指南:从参数配置到链路调试全解析 在高速数据采集与处理系统中,JESD204B接口已成为连接FPGA与高速ADC/DAC的事实标准。这个看似简单的串行接口背后,却隐藏着复杂的配置参数和严格的时序要求。作为FPGA工程师&#xf…...

串口调试工具:功能强大的Modbus协议支持工具

项目概述 串口调试工具是一款功能丰富、界面友好的串口通信调试软件,专为嵌入式开发、工业控制和物联网设备调试而设计。该工具不仅支持基本的串口通信功能,还集成了Modbus协议生成功能,能够帮助开发者快速构建和测试Modbus通信。 主要特点 支…...

Windows Subsystem for Linux (WSL) 运行 Firefox 浏览器时遇到中文乱码的解决方法

在使用Windows Subsystem for Linux (WSL) 运行 Firefox 浏览器时,有时会遇到中文乱码的问题。这通常是由于字体支持或字符编码设置不正确导致的。以下是一些解决此问题的步骤:1. 确保系统字体支持中文首先,确保你的WSL发行版安装了支持中文的…...

你的ST-LINK是‘李鬼’吗?实测Keil中关闭一个选项,破解‘非正版设备’警告(附原理浅析)

ST-LINK设备真伪检测机制解析与Keil警告消除方案 最近在嵌入式开发社区中,关于"Not a genuine ST Device! Abort connection"警告的讨论热度持续攀升。许多开发者在使用第三方ST-LINK调试器时都会遇到这个恼人的提示,虽然不影响基本功能&#…...

为什么你需要专业的图像矢量化工具?5个实战技巧提升设计效率

为什么你需要专业的图像矢量化工具?5个实战技巧提升设计效率 【免费下载链接】vectorizer Potrace based multi-colored raster to vector tracer. Inputs PNG/JPG returns SVG 项目地址: https://gitcode.com/gh_mirrors/ve/vectorizer 在数字设计领域&…...

Oracle押注AI:万亿豪赌还是泡沫危机?

【本报讯】 科技圈最近掀起一场热议——Oracle的AI算力豪赌,赔率究竟够不够?这家传统数据库巨头正在"All in"人工智能基础设施,但这场赌局背后隐藏着怎样的风险与机遇?从"老派巨头"到"算力新贵"Ora…...

终极指南:5分钟在Windows上安装Dlib预编译包,告别编译噩梦![特殊字符]

终极指南:5分钟在Windows上安装Dlib预编译包,告别编译噩梦!🚀 【免费下载链接】Dlib_Windows_Python3.x Dlib compiled binaries (.whl) for Python 3.7-3.14 and Windows x64 项目地址: https://gitcode.com/gh_mirrors/dl/Dli…...

5分钟掌握B站缓存视频转换:m4s-converter完整使用指南

5分钟掌握B站缓存视频转换:m4s-converter完整使用指南 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾在B站缓存了珍贵的学习…...

MEMS开关+频率选择表面:GNSS L1频段可重构智能反射面新方案

一句话总结: 本文提出一种基于MEMS开关的可重构频率选择表面(FSS),在不改变物理尺寸的前提下,实现GNSS L1频段的频率调谐与20波束偏转,为智能反射面(IRS)和导航通信一体化系统提供了…...

STM32/GD32 BootLoader实战避坑:为什么你的APP跑飞了?从Flash读写冲突到中断清理的完整排错指南

STM32/GD32 BootLoader实战避坑指南:从Flash冲突到中断管理的深度排错 当你熬夜调试的BootLoader终于成功烧录APP,却在跳转瞬间遭遇HardFault——这种崩溃感每个嵌入式开发者都深有体会。本文将带你直击BootLoader开发中最隐蔽的六大"杀手"&am…...

第45篇:文本生成实战:使用GPT-2创作故事——体验AI的“创造力”(项目实战)

文章目录项目背景技术选型架构设计核心实现1. 准备模型与分词器2. 构建文本生成函数3. 体验不同的生成策略踩坑记录效果对比与项目扩展项目背景 在之前的项目中,我们处理的多是分类、预测等“理解型”任务。这次,我想带大家玩点不一样的——让AI“创造”…...

BiliTools:你的全能B站资源管家,轻松管理哔哩哔哩内容

BiliTools:你的全能B站资源管家,轻松管理哔哩哔哩内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliT…...

Python边缘AI部署太重?揭秘TensorFlow Lite与ONNX Runtime轻量化对比:实测推理速度提升4.7倍

更多请点击: https://intelliparadigm.com 第一章:Python边缘AI部署的轻量化挑战与演进趋势 在资源受限的边缘设备(如树莓派、Jetson Nano、ESP32-S3 搭载 NPU 的模组)上部署 Python 编写的 AI 模型,正面临模型体积、…...

Book118文档下载器:快速获取在线文档的完整解决方案

Book118文档下载器:快速获取在线文档的完整解决方案 【免费下载链接】book118-downloader 基于java的book118文档下载器 项目地址: https://gitcode.com/gh_mirrors/bo/book118-downloader 你是否经常需要查阅学术文献或技术文档,却因为付费墙或下…...