# SDKGPT > SDKGPT 是移动应用 SDK 情报平台。从应用商店爬取 APK,解析 SDK 信号(.so/Service/Activity/DEX),匹配 LibChecker 知识库,输出 SDK 情报。覆盖 1686 个 SDK、57000+ DEX 包名信号、12.7 万 Android 应用、828 家公司。 SDKGPT 帮助 SDK 厂商找客户、投资人做市场分析、安全研究员批量排查。浏览数据永久免费,组合探索找线索、完整市场份额、导出等 B2B 功能收费。 数据 pipeline 分 5 阶段:爬取应用商店 → 下载 APK → 解析 .so/DEX/Service/Activity → 匹配 LibChecker SDK 规则库 → 输出 SDK 情报。 ## 产品页面 - [首页](https://sdkgpt.com/): SDKGPT 移动应用 SDK 情报平台首页,5 阶段 pipeline 监控 - [应用目录](https://sdkgpt.com/apps): 浏览 12.7 万 Android 应用,按分类查看,查看单个应用的 SDK 技术栈 - [SDK 目录](https://sdkgpt.com/sdks): 浏览 1686 个 SDK,查看 SDK 详情、所属公司、市场份额 - [公司目录](https://sdkgpt.com/companies): 浏览 828 家公司,查看旗下 SDK 产品 - [组合探索](https://sdkgpt.com/explore): 高级筛选——用了 X 没用 Y、多 SDK 组合、规模分档、包名批量导入 - [市场份额](https://sdkgpt.com/market-share): SDK 市场份额排名、渗透率趋势、分类排名 - [SDK 分类](https://sdkgpt.com/categories): 按 SDK 分类浏览(广告、推送、统计、地图等) - [最近 SDK](https://sdkgpt.com/recent-sdks): 最新发现的 SDK 动态 - [定价](https://sdkgpt.com/pricing): 免费起步,Pro 月订阅解锁完整名单与导出 ## 用户入口 - [登录](https://sdkgpt.com/login): SDKGPT 用户登录 - [注册](https://sdkgpt.com/signup): 免费注册 SDKGPT - [反馈](https://sdkgpt.com/feedback): 产品反馈和功能建议 ## 核心数据 - 1686 个 SDK 规则(覆盖 .so/DEX/Service/Activity 四类信号) - 57000+ DEX 包名信号 - 12.7 万 Android 应用(华为 + 应用宝两个商店) - 828 家公司(包名前缀 → domain → host_domain → canonical_name 归一) ## 数据 Pipeline(5 阶段) 1. **爬取应用商店**:华为 + 应用宝两个商店,断点续爬 + 关键词自动扩展 2. **下载 APK**:aria2c 多线程下载,断点续传 3. **解析 APK**:androguard 解析 .so/DEX/Service/Activity 信号,subprocess 隔离防 OOM(每个 APK 一个全新 subprocess,RLIMIT_AS 8GB 硬限制) 4. **匹配 SDK 规则**:按 LibChecker 原始逻辑匹配(`==` || `startsWith(prefix+".")`),覆盖 .so/DEX/Service/Activity 四类信号 5. **输出 SDK 情报**:写入数据库,前端展示 + API 查询 ## SDK 信号类型 SDKGPT 从 APK 解析 4 类信号识别 SDK: - **.so 信号(signal_type=0)**:native 库文件名(如 `libBaiduMap.so`)。浅层提取文件名,深层用 pyelftools 从 .so 二进制提取 JNI 函数名和内部 strings - **DEX 包名信号(signal_type=1)**:Java/Kotlin 包名前缀(如 `com.umeng.analytics`)。57000+ 包名信号覆盖 - **Service/Activity 声明(signal_type=2)**:AndroidManifest.xml 里声明的 Service 和 Activity 组件名 - **URL 信号(signal_type=10)**:从 DEX strings 提取的 http/https URL host(如 `ulogs.umeng.com`)。用于发现纯 REST API 集成、云服务/SaaS 等无 SDK 包名痕迹的服务 ## SDK 匹配规则 匹配规则按 LibChecker 原始逻辑实现: - 包名匹配:`==`(精确匹配)或 `startsWith(prefix+".")`(前缀 + 点号,不是简单 startsWith) - .so 匹配:文件名精确匹配或前缀匹配 - Service/Activity 匹配:组件名精确匹配或前缀匹配 - URL 匹配:host 后缀匹配 `sdk_company.domain` 匹配结果分两级: - **confirmed signal**:通过规则匹配的信号,`is_confirmed=true` - **potential signal**:尚未通过规则匹配的信号,`is_confirmed=false`,由 LLM 终判确认后升级 ## 目标用户与使用场景 ### SDK 厂商(商务拓展/销售) - **找线索**:组合探索"用了 X 没用 Y"——找出用了竞品 SDK 但没用自己产品的应用 - **筛线索**:按规模分档(大客户/中客户/小客户/长尾)排优先级 - **监控竞品**:跟踪竞品 SDK 的市场份额变化和新增应用 - **批量排查**:包名批量导入 100 个包名查询 SDK 技术栈 ### 投资人 - **市场分析**:SDK 市场份额排名、渗透率趋势、分类排名 - **公司研究**:查看公司旗下 SDK 产品和市场份额 - **趋势发现**:最近 SDK 动态,发现新兴技术 ### 安全研究员 - **批量排查**:组合探索按 SDK 筛选应用,发现安全隐患 - **应用技术栈**:查看单个应用的完整 SDK 技术栈详情 ## 组合探索筛选条件 组合探索是 SDKGPT 的核心付费功能,支持多维度组合筛选: ### SDK 筛选(多 group + 混合 operator) 支持最多 20 个 SDK filter group,每个 group 内多个 SDK 用 operator 组合: - **any(并集)**:应用使用了 group 内任意一个 SDK(`sdks IN [A,B,C]`) - **all(交集)**:应用同时使用了 group 内所有 SDK(`sdks CONTAINS [A,B,C]`) - **not_any(排除)**:应用没有使用 group 内任何一个 SDK(`NOT (sdks IN [A,B,C])`) 多 group 之间是 AND 关系。典型用法: - "用了 Bugly 但没用 OkHttp" = g0(any:Bugly) + g1(not_any:OkHttp) - "同时用了 Bugly 和 OkHttp" = g0(all:Bugly,OkHttp) - "用了 Bugly 或 OkHttp,但没用 Retrofit" = g0(any:Bugly,OkHttp) + g1(not_any:Retrofit) URL 参数格式: - 旧参数兼容:`sdks=Bugly,OkHttp&sdk_op=any`(等价于 g0) - 旧参数兼容:`sdks_not_any=Retrofit`(等价于 g1 not_any) - 新参数:`sdks_g0=Bugly,OkHttp&sdk_op_g0=any&sdks_g1=Retrofit&sdk_op_g1=not_any` ### 规模分档 按 download_count 分四档: - **大客户(large)**:≥ 1000 万下载 - **中客户(medium)**:10 万 - 1000 万下载 - **小客户(small)**:1 万 - 10 万下载 - **长尾(long_tail)**:< 1 万下载 URL 参数:`size_bucket=large|medium|small|long_tail` ### 地区筛选 按应用开发者所在省份/城市筛选。省份支持中文全称和简称(如"广东省"和"广东"都可)。 URL 参数:`province=广东,浙江&city=杭州` ### 全文搜索 按应用名称或包名搜索。 URL 参数:`q=微信` 或 `q=com.tencent.mm` ### 包名批量导入 搜索框自动检测逗号/换行分隔的多包名(上限 100),切换为批量查询模式。 URL 参数:`bundle_ids=com.tencent.mm,com.tencent.mobileqq` ## API 接口 所有 API 返回 JSON,需要 Supabase JWT Bearer token 鉴权(Pro 功能)。 ### 组合探索 API - [GET /api/search/apps](https://sdkgpt.com/api/search/apps): 组合探索查询。参数:`sdks_g0`, `sdk_op_g0`, `province`, `city`, `size_bucket`, `q`, `bundle_ids`, `page`, `limit`。免费用户返回前 10 条,Pro 用户完整翻页 - [GET /api/search/apps/export](https://sdkgpt.com/api/search/apps/export): 导出 CSV/JSON。参数同上 + `format=csv|json`。Pro 专属 ### 应用详情 API - [GET /api/apps/[appId]/detail](https://sdkgpt.com/api/apps/): 应用详情。`appId` = bundle_id(如 `com.tencent.mm`)。返回应用基本信息 + SDK 技术栈列表 ### SDK 相关 API - [GET /api/sdks/types](https://sdkgpt.com/api/sdks/types): SDK 分类列表(广告/推送/统计/地图等) - [GET /api/sdk-filters](https://sdkgpt.com/api/sdk-filters): SDK 筛选器数据(用于组合探索的 SDK 选择器) - [GET /api/sdk-taxonomy](https://sdkgpt.com/api/sdk-taxonomy): SDK 分类体系 ### 市场份额 API - [GET /api/market-share](https://sdkgpt.com/api/market-share): SDK 市场份额排名。参数:`subcategory_id`, `limit`。免费用户 TOP 10 预览,Pro 用户完整排名(最大 1000 条) ### 最近 SDK API - [GET /api/recent-sdks](https://sdkgpt.com/api/recent-sdks): 最近确认入库的 SDK。参数:`limit`(默认 50,最大 100) ### 公司相关 API - [GET /api/companies/list](https://sdkgpt.com/api/companies/list): 公司列表 - [GET /api/companies/[id]/clients](https://sdkgpt.com/api/companies/): 公司客户列表(使用该公司 SDK 的应用) ### 支付与订阅 API - [POST /api/payments/wechat/order](https://sdkgpt.com/api/payments/wechat/order): 创建微信支付订单 - [GET /api/payments/wechat/query](https://sdkgpt.com/api/payments/wechat/query): 查询支付状态 - [GET /api/payments/history](https://sdkgpt.com/api/payments/history): 支付历史 - [POST /api/subscriptions/cancel](https://sdkgpt.com/api/subscriptions/cancel): 取消订阅(当前周期内继续有效) - [POST /api/payments/backfill](https://sdkgpt.com/api/payments/backfill): 补全支付记录 ### 用户相关 API - [GET /api/saved-searches](https://sdkgpt.com/api/saved-searches): 保存的搜索条件(Pro 专属) - [POST /api/feedback](https://sdkgpt.com/api/feedback): 提交反馈 - [POST /api/feedback/[id]/vote](https://sdkgpt.com/api/feedback/): 投票反馈 - [DELETE /api/account/delete](https://sdkgpt.com/api/account/delete): 删除账号 ## 数据 Schema(关键字段) ### 应用(app) | 字段 | 说明 | |------|------| | `app_id` | bundle_id(Android 包名,如 `com.tencent.mm`) | | `name` | 应用名称 | | `icon_url` | 应用图标 URL | | `category` | 应用分类(游戏/社交/工具/购物等) | | `developer` | 开发者名称 | | `download_count` | 下载量 | | `rating` | 评分 | | `province` | 开发者所在省份 | | `city` | 开发者所在城市 | | `icp_entity` | ICP 备案主体 | | `operator` | 运营主体 | | `restrict_level` | 应用限制级别 | | `sdks` | 已识别的 SDK 名称数组 | | `sdks_count` | SDK 数量 | ### SDK(sdk) | 字段 | 说明 | |------|------| | `sdk_name` | SDK 名称(如 `Bugly`) | | `sdk_cn_name` | SDK 中文名 | | `slug` | URL slug | | `category_name` | 分类名称 | | `subcategory_name` | 子分类名称 | | `company_name` | 所属公司 | | `app_count` | 使用该 SDK 的应用数 | | `penetration_rate` | 渗透率 | | `match_type` | 匹配类型(.so/DEX/Service/Activity/URL) | ### 公司(company) | 字段 | 说明 | |------|------| | `name` | 公司名称 | | `domain` | 官网域名 | | `canonical_name` | 归一化名称 | | `sdk_count` | 旗下 SDK 数量 | 公司归一逻辑:包名前缀 → domain → host_domain → canonical_name → 新建。包名前缀最准且只看 DEX confirmed signal。 ## 定价模式 ### 免费版 - 浏览 SDK / 公司 / 应用目录 - 查看单个应用的 SDK 技术栈 - 查看 SDK / 公司详情页 - 组合探索:查总数 + 10 条预览 - SDK 市场份额 TOP 10 预览 - SDK 分类排名预览 - 全局搜索(⌘K) ### Pro 版 #### 组合探索平台 - 完整线索名单(不限 10 条预览) - 高级筛选:用了 X 没用 Y / 多 SDK 组合 - 规模分档(大客户 / 中客户 / 小客户 / 长尾) - 包名批量导入(100 个) - 保存搜索条件 - CSV / JSON 导出 #### 市场情报 - 完整 SDK 市场份额排名 - SDK 渗透率趋势(季度变化) - 公司 SDK 客户端报告(增减变化) #### 团队 - 3 个用户席位 - 邮件支持 ## FAQ - **什么功能免费?** 浏览数据完全免费。收费的是 B2B 功能:完整线索名单、高级筛选、导出、完整市场份额排名。 - **组合探索免费和 Pro 的区别?** 免费版查总数 + 10 条预览,Pro 版完整名单 + 翻页 + 导出 + 保存搜索 + 批量导入。 - **可以随时取消吗?** 月订阅随时取消,当前计费周期内继续有效,到期降级为免费版。 - **支持年付折扣吗?** 年付享 8 折优惠。联系 sales@sdkgpt.com 开通。 - **数据覆盖范围?** 当前覆盖 12.7 万 Android 应用、1686 个 SDK、828 家公司。正在扩展全球 Google Play 和 Apple App Store 数据。 - **SDK 匹配准确吗?** 按 LibChecker 原始逻辑匹配(`==` || `startsWith(prefix+".")`),覆盖 .so/DEX/Service/Activity 四类信号。URL 信号用 host 后缀匹配 + LLM 终判。 - **多久更新一次?** 爬虫持续运行,应用数据每日更新,SDK 规则库持续扩充。