StackEye工具升级至1.0.7,支持识别Flutter、ReactNative、Unity等15+技术栈,本地APK分析成新功能

开源工具 Stack Eye 从最初仅识别 Flutter 应用,现已扩展为覆盖 Flutter、React Native、Unity、Cocos、Compose 等 15 种以上框架与原生技术的全栈...

互联网/IT 阅读量: 2999

一款名为 Stack Eye 的 Android 应用近期完成重大迭代,版本号升至 1.0.7,功能已从单一的 Flutter 技术栈识别,拓展为覆盖主流跨平台与原生开发框架的综合性本地分析工具。该工具无需联网、不上传数据,所有检测均在用户设备端完成,其核心价值在于为开发者提供透明、可控的竞品技术洞察路径。

最初,Stack Eye 仅能识别 Flutter 应用,并展示其 Dart 版本、渠道信息与依赖包列表。但从 2024 年 10 月底起,项目持续更新,陆续加入对 React Native、Unity、Cocos Creator、Godot、Jetpack Compose、NDK、Rust 等技术的识别能力,工具名称也同步由“Flutter Eye”更名为“Stack Eye”,以更准确反映其能力边界。

目前,该工具可识别的技术栈分为三类:跨平台框架(如 Flutter、React Native、Unity、Unreal、Cocos Creator、Cocos2d-x、Godot、Xamarin/MAUI、uni-app、Lynx、Weex、Hippy、NativeScript、Qt、Compose Multiplatform、Cordova)、原生技术(Jetpack Compose、NDK、Rust、Go)以及构建信息(AGP 版本、R8/D8 使用情况)。当一个应用混合使用多种框架时,Stack Eye 会全部列出,例如某应用同时标注了 React Native、Hermes 引擎与 Compose 1.11.0。

首页界面已从“仅展示 Flutter 应用”改为“全部已安装应用”列表,每项条目清晰标出所用技术标签、应用版本、包名、体积及 ABI 支持情况(如 64 位)。用户可通过多选筛选器按框架或原生技术组合过滤,亦可按应用名、包名搜索,并支持按安装时间、更新时间、体积排序——这些交互优化显著提升了高装机量设备上的使用效率。

在详情页层面,Stack Eye 的信息深度远超同类工具。除基础信息(安装来源、SDK 版本、签名证书等)外,还提供第三方 SDK 识别(规则远程更新)、权限保护级别标注(如“安装即授予”“需用户授权”)、屏幕适配能力(分屏、画中画、方向锁定)及四大组件(Activity、Service、Receiver、Provider)的导出状态与 intent-filter 内容,并附带 adb 命令与 Kotlin/Java/Flutter 调用示例。

文章配图

针对 Flutter 应用,新增“Flutter 检测”卡片,可判断渲染引擎使用的是 Skia 还是 Impeller,统计 Dart 代码与引擎本体的体积占比,确认构建时是否启用混淆,并与当前最新 stable 版本对比差异。依赖包列表则独立成页,支持下钻查看具体版本与用途。

一项更具工程实用价值的功能是“16KB 页大小检查”。在详情页的“原生库”卡片中,Stack Eye 会枚举应用内所有 .so 动态库,逐一验证其是否兼容早期 Android 设备常见的 16KB 页大小限制。结果分为“就绪”“未就绪”“不适用”三类,未通过项会明确提示原因(如含大页内存分配指令),并同步提醒应用是否缺失 64 位库——这对需要兼顾老旧机型的开发者尤为关键。

另一项重要更新是本地 APK 文件分析能力。用户现在可直接导入 .apk、.apks 或 .xapk 文件进行离线解析,支持三种触发方式:应用内文件选择器、其他应用“分享”入口、文件管理器“用…打开”。该功能使 Stack Eye 不再局限于已安装应用,而可作为预发布阶段的技术审计工具。

Stack Eye 深色模式首页,界面简洁,技术标签以彩色徽章呈现

仪表盘模块则面向团队级使用场景,将全部应用按“概览”“框架”“原生技术”“构建与合规”四类聚合统计,呈现框架分布比例、AGP 版本集中度、16KB 就绪率、64 位覆盖率等指标;其中 Flutter 版本分布、热门依赖包排行及 Cocos 引擎版本亦单独归入“框架专区”,便于横向对比行业趋势。

报告导出方面,单个应用可生成图片或 Markdown 格式报告;更独特的是“依赖使用者”功能:输入某个 Flutter 包名,即可查出本机哪些应用集成了该包,并按 Google、腾讯、阿里等头部厂商优先排序,结果同样支持导出——这为开源库维护者提供了直观的采用反馈,也常被用于 README 中增强可信度。

体验层面,1.0.7 版本进行了全面重构:界面采用极简设计,深浅色模式自动跟随系统;扫描逻辑优化为“先本地后增量”,启动时同步元数据最多等待 5 秒,超时则降级使用缓存规则,后续仅增量解析新装或更新应用;列表滚动引入拖动滑块与骨架屏加载,大幅改善长列表操作流畅度;图标加载、转场动画、悬浮按钮样式等细节问题亦获修复。

Stack Eye 分享 APK 文件至应用的系统弹窗界面,底部可见 Stack Eye 图标

值得注意的是,Stack Eye 的所有分析均在设备本地完成,仅需授予“读取已安装应用”权限,无网络请求、无数据上传。这一设计使其在隐私敏感场景(如企业内部技术调研、安全合规审查)中具备天然优势。

在移动开发日益多元化的背景下,跨平台框架与原生技术的混用已成为常态。开发者亟需一种轻量、可靠、可离线运行的工具来快速厘清竞品技术选型路径。Stack Eye 的演进路径恰好回应了这一需求:从聚焦单一技术,到构建覆盖主流栈的“技术显微镜”,再到支持本地文件分析与依赖溯源,其功能边界持续扩展,但始终坚守“本地化、零隐私泄露”的核心原则。

目前,该工具已在 GitHub 开源,安卓用户可通过 APK 安装使用。随着更多框架识别规则的接入(如对 SwiftUI 或 Tauri 的潜在支持),其作为移动技术生态“透明化探针”的角色或将进一步强化。