{"id":15036836,"url":"https://github.com/anggrayudi/android-hidden-api","last_synced_at":"2025-05-13T22:00:16.133Z","repository":{"id":45648006,"uuid":"42584365","full_name":"anggrayudi/android-hidden-api","owner":"anggrayudi","description":"A library that provides access to Android hidden APIs and internal resources.","archived":false,"fork":false,"pushed_at":"2025-01-17T11:02:07.000Z","size":334972,"stargazers_count":3496,"open_issues_count":40,"forks_count":646,"subscribers_count":131,"default_branch":"master","last_synced_at":"2025-04-28T17:21:23.362Z","etag":null,"topics":["android","android-framework","api","internal-resources","java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anggrayudi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["paypal.me/hardiannicko","saweria.co/hardiannicko"]}},"created_at":"2015-09-16T11:58:33.000Z","updated_at":"2025-04-26T03:17:28.000Z","dependencies_parsed_at":"2023-10-20T17:17:19.633Z","dependency_job_id":"f4f0ec71-836c-40c2-a7dc-f972e8388664","html_url":"https://github.com/anggrayudi/android-hidden-api","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anggrayudi%2Fandroid-hidden-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anggrayudi%2Fandroid-hidden-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anggrayudi%2Fandroid-hidden-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anggrayudi%2Fandroid-hidden-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anggrayudi","download_url":"https://codeload.github.com/anggrayudi/android-hidden-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254036806,"owners_count":22003651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-framework","api","internal-resources","java"],"created_at":"2024-09-24T20:32:28.813Z","updated_at":"2025-05-13T22:00:16.113Z","avatar_url":"https://github.com/anggrayudi.png","language":"Java","readme":"# Android Hidden APIs\n\n**Android Hidden APIs** are classes, methods and resources that Google hides from you because of stability reason.\nThese features are hidden because they may be changed on next API version.\n\nThe internal APIs are located in package `com.android.internal` and available in the `framework.jar`,\nwhile the hidden APIs are located in the `android.jar` file with `@hide` javadoc attribute.\nNow you know the difference. But I will refer to both as hidden APIs.\n\nThis repo contains custom `android.jar` which you can use to develop your app.\nHowever, if you urgently need to create your own `android.jar`, I also share you the Krabby Patty\nsecret recipe here: [Create Your Own Android Hidden APIs](https://medium.com/@hardiannicko/create-your-own-android-hidden-apis-fa3cca02d345).\n\n## Use Custom `android.jar`\n\n1. Download custom `android.jar` from [Google Drive](https://drive.google.com/drive/folders/17oMwQ0xBcSGn159mgbqxcXXEcneUmnph).\n2. Go to `\u003cSDK location\u003e/platforms/`.\n3. Copy, paste and replace the downloaded hidden API file into this directory, e.g. `android-30/android.jar`.\n4. Change `compileSdkVersion` and `targetSdkVersion` to 35 (for example).\n5. Finally, rebuild your project.\n\nNote: Higher `compileSdkVersion` and `targetSdkVersion` will be better.\n\n## Resources Helper\n![Maven Central](https://img.shields.io/maven-central/v/com.anggrayudi/android-hidden-api.svg)\n\nIf you plan to use only Android internal resources rather than internal classes or methods, do:\n\n````gradle\ndependencies {\n    implementation 'com.anggrayudi:android-hidden-api:X.Y'\n}\n````\n\nWhere `X.Y` is the library version: ![Maven Central](https://img.shields.io/maven-central/v/com.anggrayudi/android-hidden-api.svg)\n\nAll versions can be found [here](https://oss.sonatype.org/#nexus-search;gav~com.anggrayudi~android-hidden-api~~~~kw,versionexpand).\nTo use `SNAPSHOT` version, you need to add this URL to the root Gradle:\n\n```groovy\nallprojects {\n    repositories {\n        google()\n        mavenCentral()\n        // add this line\n        maven { url \"https://oss.sonatype.org/content/repositories/snapshots\" }\n    }\n}\n```\n\nHere's some example of accessing internal resources:\n\n```java\nString accept = InternalAccessor.getString(\"accept\");\nfloat sbar_height = InternalAccessor.getDimension(\"status_bar_height\");\nint notif_color = InternalAccessor.getColor(\"config_defaultNotificationColor\");\n```\n\n## Contributing\n\nIf you have your own custom `android.jar` and want to add it to\n[Google Drive](https://drive.google.com/drive/folders/17oMwQ0xBcSGn159mgbqxcXXEcneUmnph),\nplease create an issue. I will upload it.\n\n## License\n\n    Copyright 2015-2025 Anggrayudi Hardiannico A.\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n    \n        http://www.apache.org/licenses/LICENSE-2.0\n    \n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n\n[1]: https://devmaze.wordpress.com/2011/01/18/using-com-android-internal-part-1-introduction\n[2]: https://github.com/anggrayudi/android-hidden-api/issues/9\n","funding_links":["paypal.me/hardiannicko","saweria.co/hardiannicko"],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanggrayudi%2Fandroid-hidden-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanggrayudi%2Fandroid-hidden-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanggrayudi%2Fandroid-hidden-api/lists"}