
移动开发开发工具逆向工程【免费下载链接】LibCheckerAn app to view libraries used in apps in your device.项目地址https://gitcode.com/gh_mirrors/li/LibChecker点击查看免费下载LibChecker 是一款用于分析设备上已安装应用所使用库的开源 Android 应用。本文以仓库根目录的 PRIVACY.md 为核心骨架结合源码中的 Telemetry 实现、FOSS 构建变体与设置项实现逐条拆解其隐私政策的技术含义哪些数据会被采集、哪些数据只停留在本机、匿名遥测如何开关、日志与崩溃信息如何处理帮助用户与开发者准确理解这款工具在隐私层面的承诺与边界。一、政策概览开源免费、数据本地优先PRIVACY.md 首先明确了 LibChecker 的基本定位由 Absinthe 构建的开源应用免费提供、按原样使用。政策声明使用的措辞是 Open Source app 与 at no cost对应仓库根目录的 LICENSEApache-2.0与 README 中帮助用户检查 Android 应用所用库与包详情的产品定位见 README.md。政策核心承诺可以概括为三点采集范围有界可能要求用户提供的信息包括日志数据Log data、使用习惯Usage habit、标记的库Marked libraries三类本地优先上述信息将被保留在你的设备上不会以任何方式被我收集retained on your device and is not collected by me in any way用途限定收集到的个人信息仅用于提供和改进服务除政策描述外不会与他人共享。其中标记的库Marked libraries是 LibChecker 的特色数据——用户在应用中标记/收藏的库列表这类数据天然属于本地偏好由应用自身的数据库与 SharedPreferences 管理。二、三类采集数据的技术解读1. 日志数据Log Data仅在出错时经第三方收集政策原文指出当应用出错时会通过第三方产品收集 Log Data可能包含设备 IP 地址、设备名称、操作系统版本、应用配置、使用时间日期等统计信息。在源码中这一第三方产品的具体实现是FirebaseAnalytics Crashlytics且仅在 market含 Google Play 服务构建变体中启用。核心封装位于 Telemetry.ktmarket 变体object Telemetry { fun setEnable(enable: Boolean) { Firebase.analytics.setAnalyticsCollectionEnabled(enable) Firebase.crashlytics.setCrashlyticsCollectionEnabled(enable) } fun recordException(t: Throwable) { Firebase.crashlytics.recordException(t) } fun recordEvent(name: String, params: MapString, Any) { // 将事件名中的空格替换为下划线后写入 Firebase Analytics Firebase.analytics.logEvent(name.replace( , _), bundle) } }崩溃日志的实际上报链路由 Release 构建的 Timber 日志树驱动。在 ReleaseTree.kt 中可以看到只有ERROR级别的异常才会进入Telemetry.recordException并且会主动过滤三类噪音异常——was cancelled、NameNotFoundException、DeadSystemException避免无意义的崩溃上报占用带宽与用户流量。2. 使用习惯Usage habit匿名事件遥测政策中使用习惯对应的是应用内功能事件统计。全项目有十余处通过Telemetry.recordEvent上报交互事件覆盖主界面、应用列表、应用详情、快照列表/详情/时间节点、统计图表、库引用列表、设置页等核心模块典型调用点包括应用详情分享/主操作AppInfoPrimaryActionController.kt、AppInfoPackageShareController.kt快照相关SnapshotFragment.kt、SnapshotDetailActivity.kt统计与引用ChartFragment.kt、LibReferenceFragment.kt所有事件均只携带按键/类别级别的参数如Telemetry.Param中的CONTENT_TYPE、ITEM_ID、SUCCESS、VALUE、CONTENT不包含包名、库名等可识别个体应用的数据与匿名遥测anonymous analytics的命名一致。3. 标记的库Marked libraries纯本地数据用户标记的库属于应用内个性化数据通过本地数据库与偏好存储管理不参与任何网络上报是数据只保留在设备上这一承诺最直接的体现。三、匿名遥测开关从设置项到源码调用链政策承诺信息不会被收集源码层面则通过一个可关闭的匿名遥测开关来落实这一承诺。1. 开关定义与默认值偏好项在 Constants.kt 中定义为PREF_ANONYMOUS_ANALYTICS analytics其默认值在 GlobalValues.kt 中为默认开启val isAnonymousAnalyticsEnabled: Boolean by SPDelegates(Constants.PREF_ANONYMOUS_ANALYTICS, true)2. 应用启动时生效在应用入口 LibCheckerApp.kt 的启动流程中开关值被直接传递给 TelemetryTelemetry.setEnable(GlobalValues.isAnonymousAnalyticsEnabled)当用户关闭该开关时market 变体将同时禁用 Firebase Analytics 与 Crashlytics 的采集见上文setEnable实现从源头停止一切遥测与崩溃上报。3. FOSS 变体不包含任何遥测仓库中存在独立的foss构建变体对应 F-Droid/IzzyOnDroid 分发的无 Google 服务版本其 Telemetry.kt 中所有方法均为空实现仅保留被注释掉的 Firebase 调用骨架object Telemetry { fun setEnable(enable: Boolean) { // Firebase.analytics.setAnalyticsCollectionEnabled(false) // Firebase.crashlytics.setCrashlyticsCollectionEnabled(false) } fun recordException(t: Throwable) { /* no-op */ } fun recordEvent(name: String, params: MapString, Any) { /* no-op */ } }同时设置界面会隐藏该开关项SettingsFragment.kt 中通过getBoolean(R.bool.is_foss).not()控制PREF_ANONYMOUS_ANALYTICS的可见性而 bool.xml 中将is_foss置为true。也就是说market 构建Play 商店分发默认开启匿名遥测可在设置中关闭foss 构建F-Droid/IzzyOnDroid 分发代码层面即不包含任何采集能力设置页也不显示相关开关。四、政策其余条款解读1. Cookies 与第三方代码政策说明应用本身不显式使用 Cookie但可能包含使用 Cookie 的第三方代码/库。从工程结构看market 变体引入的 Google Play 服务相关依赖如 Firebase配置见 google-services.json 与 market 目录即属于此类第三方组件foss 变体则通过 compat 目录下的 stub 实现绕开 Google 服务从依赖层面消除第三方采集组件。2. 服务提供商Service Providers政策声明可能雇佣第三方公司协助提供服务如基础设施托管、服务分析这些第三方仅被授权执行分配的任务不得披露或用于其他目的。这与 Crashlytics/Analytics 由 Google 作为数据处理方运行的模式一致。3. 安全声明政策明确虽以商业上可接受的方式保护信息但互联网传输与电子存储不存在 100% 安全无法保证绝对安全。这是标准的数据安全免责声明用户在开启遥测前应有合理预期。4. 第三方链接应用内可能包含指向第三方站点的链接政策建议用户自行查阅这些站点的隐私政策LibChecker 对其内容与隐私实践不承担责任。例如应用设置中的 Telegram 群组入口见 SettingsFragment.kt 中PREF_TELEGRAM的跳转逻辑即属于此类外部跳转。5. 儿童隐私政策声明不会故意收集儿童的个人身份信息并鼓励家长监督儿童使用同时明确用户须年满 16 岁方可同意个人信息的处理部分国家/地区允许由父母或监护人代为同意。6. 政策变更与生效日期政策可能随时更新更新通过在本页面发布新版政策来通知当前政策自2022-08-22起生效。7. 联系方式如对隐私政策有任何疑问或建议可通过邮箱zhaobozhen2025gmail.com联系开发者。五、给用户与开发者的实践建议终端用户在 Play 商店等渠道安装的 market 版本默认开启匿名遥测介意的话可在 设置 → 通用/偏好 中找到匿名统计analytics开关并关闭追求极致隐私可改用 F-Droid/IzzyOnDroid 分发的 foss 版本——该版本在源码层面就不存在采集能力。开发者新增需要埋点的功能时应统一通过Telemetry.recordEvent/Telemetry.recordException封装调用而不要直接操作 Firebase API以保持 foss/market 两种变体行为一致上报参数应沿用Telemetry.Param中的通用类别键避免携带包名、库名等可识别数据。对照验证本政策的核心承诺数据本地优先 匿名遥测可关闭在源码中均可找到对应实现本地数据由应用数据库与偏好存储承载见 app/src/main/kotlin/com/absinthe/libchecker/database 目录遥测开关由GlobalValues.isAnonymousAnalyticsEnabled驱动见 GlobalValues.ktfoss 空实现见 foss/Telemetry.kt。六、小结LibChecker 的隐私政策篇幅简短但技术含量并不低它以数据保留在设备上为总原则通过构建变体隔离foss 零采集 / market 可关闭匿名遥测与统一 Telemetry 抽象把隐私承诺落实成了可审计、可验证的工程实现。无论你作为使用者想要评估风险还是作为开发者想要借鉴其隐私设计模式都可以直接对照 PRIVACY.md 与上述源码路径逐一核对。赞分享移动开发开发工具逆向工程【免费下载链接】LibCheckerAn app to view libraries used in apps in your device.项目地址https://gitcode.com/gh_mirrors/li/LibChecker点击查看免费下载相关推荐Page Assist 隐私政策深度解读本地优先架构下的数据安全边界与浏览器权限机制Page Assist 隐私政策深度解读本地优先架构下的数据安全边界与浏览器权限机制 Page Assist 是一款本地优先的浏览器 AI 助手扩展通过AI 应用人工智能本地部署RAG交互助手Notepads 隐私政策全解析数据采集范围、Telemetry 实现与用户权益指南Notepads 隐私政策全解析数据采集范围、Telemetry 实现与用户权益指南 导读 本文基于 Notepads 项目根目录的 PRIVACY.md h桌面应用deepseek-harness-desktop 隐私政策全解读本地优先架构、版本检查数据流与用户权利deepseek harness desktop 隐私政策全解读本地优先架构、版本检查数据流与用户权利 本文以 PRIVACY.md https://link人工智能AI 应用AI Agent桌面应用插件系统DeepSeekdsh-plugin上一篇双层PDF转换实战指南Umi-OCR让扫描件能搜能选的一站式方案下一篇抖音主页作品批量下载完整指南四条命令本地保存全部无水印视频创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考