拿竞品 App 一扫,技术栈全暴露了

欢迎关注微信公众号:FSA全栈行动 👋

一、前言

FlutterEye 是我们用来查看手机里哪些 App 用了 Flutter 的小工具,能看出 Flutter 版本和依赖了哪些包。从 10 月底到现在,它连着更新了几个版本(1.0.4 → 1.0.7),现在不只识别 Flutter,React Native、Unity、Cocos、Compose 这些也都能认出来,所以名字也一起改成了 Stack Eye。

先看看现在的样子:

亮 暗

下面按「新功能 → 体验优化 → 问题修复」的顺序,把这段时间的变化过一遍。

二、新功能

1、识别全部应用

首页从「只列 Flutter 应用」改成了列出全部应用,每个应用都会标出用了哪些框架和原生技术:

分组 能识别的
框架 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
  • 一个应用同时用了多个框架时会全部标出来
  • Flutter 应用照旧能看到 Flutter / Dart 版本、渠道和依赖包
  • Cocos 应用能看到引擎版本
  • 首页支持按框架、原生技术多选筛选,按应用名、包名搜索
  • 排序挪进了筛选面板,新增安装时间、更新时间、体积排序
  • 列表上直接显示应用体积和 ABI 支持情况
亮 暗

2、16KB 页大小检查

详情页新增「原生库」卡片,列出应用里的全部 .so,逐个检查能不能在 16KB 页大小的设备上运行,结果分为就绪 、未就绪 、不适用 三种,不通过的库会单独标出原因。同时还会提示应用有没有带 64 位库。

3、分析本地 APK

现在可以直接分析 .apk、.apks、.xapk 文件,支持三种打开方式:

  • 应用内选择文件
  • 从其它应用「分享」到 Stack Eye
  • 文件管理器里「用...打开」

4、Flutter 检测

Flutter 应用的详情页多了一张「Flutter 检测」卡片:

  • 渲染引擎 :Impeller 还是 Skia
  • 代码体积 :Dart 代码和引擎各占多大
  • 代码混淆:构建时有没有开启混淆
  • 最新稳定版 :和当前最新 stable 版本对比

依赖包列表也挪到了单独的页面,作为这张卡片的子项进入。

5、应用详情

详情页补齐了一批应用信息:

  • 基础信息 :安装来源、SDK 版本、安装与更新时间、签名证书
  • 第三方 SDK :查看应用集成了哪些常见的第三方 SDK,识别规则会远程更新
  • 权限:每个权限都标出保护级别,如安装即授予、需用户授权、仅系统等
  • 屏幕适配:是否支持分屏、尺寸变化、方向锁定、画中画
  • 四大组件 :Activity、Service、Receiver、Provider 标出是否导出,可查看 intent-filter,并附带 adb、Kotlin、Java、Flutter 的调用示例
Activity Service Receiver Provider

6、仪表盘

仪表盘按全部应用重新分组,分为概览、框架、原生技术、构建与合规四块,可以看到框架分布、AGP 版本分布、16KB 就绪比例和 64 位支持情况;Flutter 版本分布、热门依赖和 Cocos 引擎版本放在框架专区。

概览 构建与合规

7、导出

  • 应用报告 :单个应用的报告可以分享为图片或 Markdown
  • 依赖使用者 :查看手机里有哪些 App 用了某个 Flutter 包,Google、腾讯、阿里等大厂会单独标出并排在前面,可导出为图片或 Markdown,适合放进自己包的 README

三、优化与修复

1、体验优化

  • 全新界面:所有页面按极简风格重做,浅色、深色跟随系统
  • 扫描更快:启动时先同步一次版本表和识别规则,最多等 5 秒,超时就先用本地数据扫描,新数据下次启动生效;之后启动只解析新装或更新过的应用
  • 快速滚动:首页和依赖包列表加了可拖动的滚动滑块,应用再多也能一下拉到底
  • 加载骨架:列表加载时显示骨架屏
  • 图标更顺:滚回来的图标立即显示,不再空白闪一下;打开详情页时转场不再卡顿
  • 入口整理 :分析 APK 和仪表盘收进了右下角的悬浮菜单,分析前会先弹出说明
  • 体积显示:和系统设置里的显示方式一致

2、问题修复

  • 修复部分 apk 无法读取的问题
  • 修复正式版 Flutter 被识别成预发布版的问题
  • 修复横着拿手机启动时,界面先横屏再转回竖屏
  • 修复深色模式下悬浮按钮图标变黑、详情页顶部图标底色看不清
  • 修复组件列表弹窗里复制时,提示被面板挡住
  • 修复拖动快速滚动滑块时列表来回跳
  • 修复报告图片底部生成时间与其它内容挤在一行,英文导出按钮文字换行
  • 修复分享图片后截图一直留在缓存里

四、最后

  • 所有分析都在本机完成,需要授予「读取已安装应用列表」权限才能扫描
  • 包名没变,老用户直接更新即可

本篇到此结束,感谢大家的支持。用起来有什么问题,或者想让它识别哪个框架,欢迎在评论区或 GitHub 上反馈 😁

如果文章对您有所帮助, 请不吝点击关注一下我的微信公众号:FSA全栈行动, 这将是对我最大的激励. 公众号不仅有 iOS 技术,还有 Android,Flutter,Python 等文章, 可能有你想要了解的技能知识点哦~

相关推荐
冬奇Lab11 分钟前
一天一个开源项目(第261篇):Uptime Kuma —— 9 万 Star 的自托管监控工具,一条 docker 命令替代 Uptime Robot
开源·监控
科小怪41 分钟前
Folia 音乐播放器下载:歌词只在小框里滚?它能铺满整个屏幕
开源·音乐播放器·软件推荐·下载教程·folia
进击的雷神1 小时前
不预测数字,而是重演未来:多智能体仿真引擎 MiroFish 上手体验
ai·开源·mirofish
Gracker3 小时前
AIW:从系统机制到性能排查,一本可以对照源码的 Android 电子书
android
三少爷的鞋3 小时前
代码越来越便宜,判断力越来越贵:AI 时代的 Android 架构与协程避坑指南
android
wflynn4 小时前
GitHub 今日推荐|Stela:在 PC 上直接启动 macOS 的翻译层
rust·开源·github
用户4702784004055 小时前
C语言编译与链接
后端·开源
我闪了个去5 小时前
三个机位、一台录音机:一个允许说“我不确定”的波形对齐
开源
Gracker5 小时前
SmartPerfetto 1.19.0:换过分析引擎之后,这次更新了什么
android