{"id":19933736,"url":"https://github.com/bazelbuild/rules_android","last_synced_at":"2025-05-16T19:03:29.577Z","repository":{"id":45791705,"uuid":"119593648","full_name":"bazelbuild/rules_android","owner":"bazelbuild","description":"Android rules for Bazel","archived":false,"fork":false,"pushed_at":"2025-04-03T19:55:15.000Z","size":2530,"stargazers_count":189,"open_issues_count":119,"forks_count":50,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-04-03T20:11:30.739Z","etag":null,"topics":[],"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/bazelbuild.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-30T20:59:01.000Z","updated_at":"2025-04-03T19:55:19.000Z","dependencies_parsed_at":"2024-04-02T01:25:52.272Z","dependency_job_id":"a046604d-de77-4578-9775-050cdfadb452","html_url":"https://github.com/bazelbuild/rules_android","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazelbuild%2Frules_android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazelbuild%2Frules_android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazelbuild%2Frules_android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazelbuild%2Frules_android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bazelbuild","download_url":"https://codeload.github.com/bazelbuild/rules_android/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248607290,"owners_count":21132511,"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":[],"created_at":"2024-11-12T23:14:42.091Z","updated_at":"2025-05-16T19:03:29.569Z","avatar_url":"https://github.com/bazelbuild.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Android support in Bazel\n\n## Disclaimer\n\nNOTE: This branch is a development preview of the Starlark implementation of Android rules for Bazel. This code is incomplete and may not function as-is.\n\nA version of Bazel built at or near head or a recent pre-release and the following flags are necessary to use these rules:\n\n```\n--experimental_enable_android_migration_apis\n--experimental_google_legacy_api\n```\n\n## Overview\n\nThis repository contains the Starlark implementation of Android rules in Bazel.\n\nThe rules are being incrementally converted from their native implementations\nin the [Bazel source\ntree](https://source.bazel.build/bazel/+/master:src/main/java/com/google/devtools/build/lib/rules/android/).\n\nStardoc for the Android rules can be found at\n[https://bazelbuild.github.io/rules_android](https://bazelbuild.github.io/rules_android/).\n\n## Getting Started\nTo use the Starlark Bazel Android rules, add the following to your WORKSPACE file:\n\n\n```starlark\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nhttp_archive(\n    name = \"rules_android\",\n    sha256 = \"fe3d8c4955857b44019d83d05a0b15c2a0330a6a0aab990575bb397e9570ff1b\",\n    strip_prefix = \"rules_android-0.6.0-alpha1\",\n    url = \"https://github.com/bazelbuild/rules_android/releases/download/v0.6.0-alpha1/rules_android-v0.6.0-alpha1.tar.gz\",\n)\n\n# Android rules dependencies\nload(\"@rules_android//:prereqs.bzl\", \"rules_android_prereqs\")\nrules_android_prereqs()\n\n##### rules_java setup for rules_android #####\nload(\"@rules_java//java:rules_java_deps.bzl\", \"rules_java_dependencies\")\nrules_java_dependencies()\n# note that the following line is what is minimally required from protobuf for the java rules\n# consider using the protobuf_deps() public API from @com_google_protobuf//:protobuf_deps.bzl\nload(\"@com_google_protobuf//bazel/private:proto_bazel_features.bzl\", \"proto_bazel_features\")  # buildifier: disable=bzl-visibility\nproto_bazel_features(name = \"proto_bazel_features\")\n# register toolchains\nload(\"@rules_java//java:repositories.bzl\", \"rules_java_toolchains\")\nrules_java_toolchains()\n\n##### rules_jvm_external setup for rules_android #####\nload(\"@rules_jvm_external//:repositories.bzl\", \"rules_jvm_external_deps\")\nrules_jvm_external_deps()\nload(\"@rules_jvm_external//:setup.bzl\", \"rules_jvm_external_setup\")\nrules_jvm_external_setup()\n\n##### rules_android setup #####\nload(\"@rules_android//:defs.bzl\", \"rules_android_workspace\")\nrules_android_workspace()\n\n# Android SDK setup\nload(\"@rules_android//rules:rules.bzl\", \"android_sdk_repository\")\nandroid_sdk_repository(\n    name = \"androidsdk\",\n)\n\nregister_toolchains(\n    \"@rules_android//toolchains/android:android_default_toolchain\",\n    \"@rules_android//toolchains/android_sdk:android_sdk_tools\",\n)\n```\n\n\nOr, if you want to use bzlmod, add the following to your MODULE.bazel file:\n\nMODULE.bazel:\n\n```starlark\nbazel_dep(name = \"rules_java\", version = \"7.11.1\")\nbazel_dep(name = \"bazel_skylib\", version = \"1.3.0\")\n\nbazel_dep(name = \"rules_android\", version = \"0.6.4\")\n\nremote_android_extensions = use_extension(\n    \"@rules_android//bzlmod_extensions:android_extensions.bzl\",\n    \"remote_android_tools_extensions\")\nuse_repo(remote_android_extensions, \"android_gmaven_r8\", \"android_tools\")\n\nandroid_sdk_repository_extension = use_extension(\"@rules_android//rules/android_sdk_repository:rule.bzl\", \"android_sdk_repository_extension\")\nuse_repo(android_sdk_repository_extension, \"androidsdk\")\n\nregister_toolchains(\"@androidsdk//:sdk-toolchain\", \"@androidsdk//:all\")\n```\n\n\n\nThen, in your BUILD files, import and use the rules:\n\n```starlark\nload(\"@rules_android//rules:rules.bzl\", \"android_binary\", \"android_library\")\nandroid_binary(\n    ...\n)\n\nandroid_library(\n   ...\n)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbazelbuild%2Frules_android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbazelbuild%2Frules_android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbazelbuild%2Frules_android/lists"}