Skip to content

HuidouApps/demo

Repository files navigation

Hidden API Demo

一个展示 Android Hidden API 接口信息的示例应用,通过纯 Java UI 实现,无需 XML 布局文件。

项目概述

本项目是一个独立的 Android 应用程序,用于展示 hidden-api 模块中所有接口的文档信息。应用以卡片形式展示了各种隐藏 API 的详细信息,包括 AIDL 接口、Java 接口和类等。

功能特性

  • 📱 纯代码 UI:完全使用 Java 代码构建用户界面,无 XML 布局依赖
  • 🎨 Material Design:采用 Material Design 设计风格
  • 📋 API 信息展示:详细展示隐藏 API 的名称、包路径、类型、描述、方法和字段等信息
  • 🔍 分类显示:按 AIDL、Interface、Class 类型进行分类标识
  • 📖 完整文档:提供每个 API 的详细说明和使用场景

支持的 Hidden API

AIDL 接口

  • IPackageInstaller - 包安装器 AIDL 接口
  • IPackageInstallerSession - 安装会话 AIDL 接口
  • IPackageManager - 包管理器 AIDL 接口

Java 接口

  • IIntentReceiver - Intent 接收回调接口
  • IIntentSender - Intent 发送者接口

Java 类

  • PackageInstaller - 包安装器 Java 封装类
  • PackageInstaller.Session - 安装会话类
  • VersionedPackage - 版本化包名类
  • ServiceManager - 系统服务管理器
  • UserHandle - 用户句柄类

技术栈

  • 语言: Java
  • 最低 SDK: Android 9.0 (API 28)
  • 目标 SDK: Android 15 (API 36)
  • 构建工具: Gradle 8.13.0
  • 依赖库:
    • AndroidX AppCompat 1.7.1
    • Material Design Components 1.13.0
    • ConstraintLayout 2.2.1

项目结构

app/
├── src/main/
│   ├── java/io/github/huidoudour/Installer/demo/
│   │   └── MainActivity.java          # 主活动,包含所有 UI 逻辑
│   ├── res/
│   │   └── mipmap-anydpi-v26/
│   │       └── ic_launcher.xml        # 应用图标
│   └── AndroidManifest.xml            # 应用清单文件
├── build.gradle.kts                   # 模块级构建配置
└── proguard-rules.pro                 # ProGuard 规则

构建和运行

前置要求

  • Android Studio Hedgehog 或更高版本
  • JDK 21
  • Android SDK Platform 36
  • Android SDK Build-Tools 36

构建步骤

  1. 克隆项目到本地
  2. 在 Android Studio 中打开项目
  3. 同步 Gradle 文件
  4. 连接设备或启动模拟器
  5. 点击 Run 按钮运行应用

命令行构建

# 构建调试版本
./gradlew assembleDebug

# 安装到设备
./gradlew installDebug

使用说明

  1. 启动应用后,您将看到一个包含多个卡片的列表
  2. 每个卡片代表一个隐藏 API,顶部有类型标签(AIDL/Interface/Class)
  3. 卡片中包含以下信息:
    • API 名称和包路径
    • 修饰符、继承关系等元数据
    • 详细描述
    • 可用方法列表
    • 字段和内部类信息

开发说明

UI 架构

  • 使用 LinearLayout 作为主要布局容器
  • 采用 NestedScrollView 支持滚动浏览
  • 动态创建视图组件,避免 XML 布局文件
  • 使用 Material Design 组件提升用户体验

颜色主题

  • 主色调: Purple (#6200EE)
  • 次要色: Teal (#03DAC5)
  • 状态栏: 白色背景 + 深色图标

注意事项

⚠️ 重要提醒:

  • 本应用仅用于学习和研究目的
  • Hidden API 的使用可能在不同 Android 版本间发生变化
  • 在生产环境中使用隐藏 API 需要谨慎考虑兼容性问题

许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

贡献

欢迎提交 Issue 和 Pull Request 来改进这个项目!

相关链接

About

Installer's HiddenAPI Demo App

Resources

License

Stars

Watchers

Forks

Contributors

Languages