# anggrayudi/android-hidden-api

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/anggrayudi-android-hidden-api).**

3,663 stars · 648 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/anggrayudi/android-hidden-api
- awesome-repositories: https://awesome-repositories.com/repository/anggrayudi-android-hidden-api.md

## Topics

`android` `android-framework` `api` `internal-resources` `java`

## Description

This project is an Android hidden API wrapper and system API bridge that provides access to internal Android system classes and resources. It enables compilation and execution of code against non-public Android framework methods and internal classes by replacing the standard platform jar.

The tooling facilitates the retrieval of system-level strings, dimensions, and colors through an internal resource accessor, removing the need for manual Java reflection.

The project covers low-level architectural mechanisms for custom bootclasspath injection and stub-based class loading to bypass compile-time checks for non-public system members. It also includes reflection-based resource access to retrieve private system resources at runtime.

## Tags

### Mobile Development

- [Hidden API Access](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-development/hidden-api-access.md) — Provides a mechanism to compile and run code against internal, non-public Android system APIs by replacing the standard platform jar. ([source](https://github.com/anggrayudi/android-hidden-api#readme))
- [Framework Development](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-development/framework-development.md) — Supports building advanced system utilities that require deep integration with internal Android OS components.
- [Internal Resource Access](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-development/internal-resource-access.md) — Enables the retrieval of internal system strings, dimensions, and colors without the need for repetitive Java reflection. ([source](https://github.com/anggrayudi/android-hidden-api#readme))
- [Hidden API Wrappers](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-libraries/hidden-api-wrappers.md) — Acts as a library that provides access to internal Android system classes by replacing the standard platform jar.
- [Internal API Access](https://awesome-repositories.com/f/mobile-development/android-system-api-wrappers/internal-api-access.md) — Provides access to internal Android system classes and methods omitted from the standard public SDK.
- [System API Bridges](https://awesome-repositories.com/f/mobile-development/android-system-api-wrappers/system-api-bridges.md) — Provides a mechanism to compile and execute code against non-public Android framework methods and internal classes.
- [Platform Jar Modification](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-platform-integrations/platform-jar-modification.md) — Replaces the standard platform JAR with a modified version to allow compilation against hidden Android APIs.

### Development Tools & Productivity

- [Internal Resource Accessors](https://awesome-repositories.com/f/development-tools-productivity/system-resource-accessors/internal-resource-accessors.md) — Provides a tool for retrieving system-level strings, dimensions, and colors without using manual Java reflection.

### Programming Languages & Runtimes

- [Hidden API Invocations](https://awesome-repositories.com/f/programming-languages-runtimes/reflection-utilities/hidden-api-invocations.md) — Provides techniques for overcoming restrictions on internal platform jars to invoke non-public Android APIs.
- [Reflection-Based Access](https://awesome-repositories.com/f/programming-languages-runtimes/class-member-access/object-member-access/private-property-access/reflection-based-access.md) — Uses runtime type inspection to programmatically access private system resource tables.
- [Stub-Based Class Loading](https://awesome-repositories.com/f/programming-languages-runtimes/dynamic-class-creation/class-loading-mechanisms/stub-based-class-loading.md) — Defines minimal class signatures during development to bypass compile-time checks for non-public system members.

### User Interface & Experience

- [Internal Resource Retrieval](https://awesome-repositories.com/f/user-interface-experience/ui-architecture/design-utilities/design-systems/color-system-utilities/color-palette-management/android-resource-systems/internal-resource-retrieval.md) — Automates the retrieval of system-level strings and dimensions from the Android framework.

### Operating Systems & Systems Programming

- [Bootclasspath Injection](https://awesome-repositories.com/f/operating-systems-systems-programming/bootclasspath-injection.md) — Implements custom bootclasspath injection to ensure internal system classes are resolved before standard public APIs.
