)]}'
{
  "log": [
    {
      "commit": "8e6bac9c1850c8a5bc4fd64459f28e21a282d7df",
      "tree": "e5fc904c023d16a9ad3bff168176984ee1d4dec5",
      "parents": [
        "b11d76f41f2b32dff07cac0eb81b6b707063cd95"
      ],
      "author": {
        "name": "Michael Hoisie",
        "email": "hoisie@google.com",
        "time": "Mon May 11 11:35:22 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 11 11:35:45 2026 -0700"
      },
      "message": "Fix ResourceLinkerTest on Mac\n\nUse RecursiveDeleteOption.ALLOW_INSECURE, which is required for Mac.\n\nPiperOrigin-RevId: 913801362\nChange-Id: Id2be161a782665cd3c5badd69b66b80feb740db1\n"
    },
    {
      "commit": "b11d76f41f2b32dff07cac0eb81b6b707063cd95",
      "tree": "a677b6f23fd5c80191c31cc03ffbc8480cb1f14f",
      "parents": [
        "c28bf8ab7e245dcc8fe7efd92096e6314b5b0953"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Wed May 06 16:09:57 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 16:11:11 2026 -0700"
      },
      "message": "Remove legacy process_starlark method, put this functionality directly in process.\n\nCleans up some unused parameters that were never passed to the underlying process_starlark method.\n\nPiperOrigin-RevId: 911603140\nChange-Id: Iba8c67714cf73e80ab87f159a3eafb384cc0d159\n"
    },
    {
      "commit": "c28bf8ab7e245dcc8fe7efd92096e6314b5b0953",
      "tree": "3dc00638a640cd87bde78534f60adf99d546c435",
      "parents": [
        "6d6e7b3598eae17456555e5ba07fe4cbc2ff3c23"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Wed May 06 14:28:03 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 06 14:28:28 2026 -0700"
      },
      "message": "Fix default value of crunch_png.\n\nThe prior behavior defaulted to true. We should maintain this.\n\nPiperOrigin-RevId: 911550114\nChange-Id: I5e042ef48c66961c0cfe6c6fac955a01c3343674\n"
    },
    {
      "commit": "6d6e7b3598eae17456555e5ba07fe4cbc2ff3c23",
      "tree": "c88911b5b781890962b9a4edb94e1418c2914a24",
      "parents": [
        "3e957c8d00a9f3587ab981397afc036633f1496f"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Tue May 05 17:42:03 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 17:42:32 2026 -0700"
      },
      "message": "Disable C2 tiered compilation for additional resource actions.\n\nThese spend relatively little time within the JVM and do not benefit from the overhead of the C2 compiler.\n\nOther actions (such as StarlarkRClassGenerator and ResourceShrinker) are slowed down by disabling C2, since for a decently sized app they spend \"enough\" time in the JVM for it to be worthwhile.\n\nPiperOrigin-RevId: 911010113\nChange-Id: I9e462564505a5771b5681194401047337a36d05a\n"
    },
    {
      "commit": "3e957c8d00a9f3587ab981397afc036633f1496f",
      "tree": "15dafa65e9d3edf83a8f5afc20db51b8162539cc",
      "parents": [
        "b4cb7edc7cdeaa915d1c76239ed67b13399fc29a"
      ],
      "author": {
        "name": "Michael Hoisie",
        "email": "hoisie@google.com",
        "time": "Tue May 05 15:39:30 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 15:39:58 2026 -0700"
      },
      "message": "Reduce the amount of zip file filtering in ResourceLinker\n\nResourceLinker contained costly `.flat` file filtering as a workaround for a\nbug in `aapt2 link`. It peformed manual filtering of (potentially thousands)\nsymbols.zip files to only keep .flat files. The underlying bug in aapt2 was\nfixed, so this manual filtering is not necessary any more.\n\nAdd busybox_compat.bzl and busybox_compat.bzl.oss to have a config option\nindicating whether the aapt2 binary contains this filtering bug fix. These\noptions are passed into ResourceLinker as a dictionary.\n\nIn the new logic, if the predicate does not match any files, it means that the\nzip file does not need to be filtered. The original zip file can be passed into\naapt2 command.\n\nPiperOrigin-RevId: 910954130\nChange-Id: Ie75ae3b523c12252798be09e03c1d067e8d79908\n"
    },
    {
      "commit": "b4cb7edc7cdeaa915d1c76239ed67b13399fc29a",
      "tree": "993e648315d15660e88fc230b87b3617999d427d",
      "parents": [
        "fcda5ccb573993e1205d1b45a2325fd00710f2b8"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon May 04 10:26:06 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 04 10:26:26 2026 -0700"
      },
      "message": "Replace `-Xverify:none` with `-XX:-BytecodeVerificationLocal -XX:-BytecodeVerificationRemote`\n\nThe replacement flags provide equivalent functionality. Support for `-Xverify:none` is being removed from the JDK, see https://bugs.openjdk.org/browse/JDK-8373481.\n\nPiperOrigin-RevId: 910106757\nChange-Id: Idda4797d03063db9175af91859175ca7ef36aaf5\n"
    },
    {
      "commit": "fcda5ccb573993e1205d1b45a2325fd00710f2b8",
      "tree": "9eca9b968d8b1a289164dfaf7bb9898aa4da0d4c",
      "parents": [
        "10fda52906ca6c37cef675cfc2baa71715f95e61"
      ],
      "author": {
        "name": "Michael Hoisie",
        "email": "hoisie@google.com",
        "time": "Mon May 04 08:38:14 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 04 08:38:45 2026 -0700"
      },
      "message": "Pass --no-crunch to `aapt2 compile` for android_local_test targets\n\nThis will skip png re-compression for android_local_test, saving time\non the CompileAndroidResources task for targets that contain PNG resources.\n\nPiperOrigin-RevId: 910051461\nChange-Id: I8e6cc656ef0c08596362542bc48d710705c61de8\n"
    },
    {
      "commit": "10fda52906ca6c37cef675cfc2baa71715f95e61",
      "tree": "3a2bab94c9cf8184426dda34c3843f196c91a59e",
      "parents": [
        "b6c96bea96eb38e4221cad1c1bd6e1411a2f666e"
      ],
      "author": {
        "name": "Ted Xie",
        "email": "tedx@google.com",
        "time": "Fri May 01 15:12:06 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 01 15:12:35 2026 -0700"
      },
      "message": "Add mobile-install aspect build to presubmit\n\nCloses #493\n\nPiperOrigin-RevId: 908920017\nChange-Id: Ia51b4a50d8827d76d727a2ed3558cd5c4efcc364\n"
    },
    {
      "commit": "b6c96bea96eb38e4221cad1c1bd6e1411a2f666e",
      "tree": "2e0c4beaa774c0e24f27cfe9d15a2cbcb166e14e",
      "parents": [
        "8035459e735ca25fb361588f8b2c962b2798f3af"
      ],
      "author": {
        "name": "Giso Bartels",
        "email": "gisob@spotify.com",
        "time": "Fri May 01 14:08:45 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 01 14:09:50 2026 -0700"
      },
      "message": "Merge #490 by GisoBartels: mobile-install: pre-merge jar resources with singlejar\n\nFixes #489.\n\n`mobile_install/apks.bzl` previously handed per-library `jar_resources` zips directly to `repack`. Repack\u0027s `writeToZip` deduplicates by entry name (`src/tools/ak/repack/repack.go`), so two libraries that both contribute `META-INF/services/\u003cfqcn\u003e` collide on that guard and the second is silently dropped — breaking ServiceLoader for any service with multiple implementations in mobile-install builds.\n\nPre-merge the per-library zips with `singlejar` first. Singlejar already concatenates `META-INF/services/*` correctly, so once merged, repack sees only one entry per service path and its dedup logic stops mattering. No change to repack itself.\n\nValidated locally: `split_jresources.apk` now contains every impl line for a service path that previously lost entries.\nCloses #490\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/490 from GisoBartels:gisob/mobile-install-services-merge 83cb2054bef4dd6dddbb2692d6ba1d03f4845ee7\nPiperOrigin-RevId: 908891071\nChange-Id: I629c3455f083e256a7c9d8b9285373aeb4b3c928\n"
    },
    {
      "commit": "8035459e735ca25fb361588f8b2c962b2798f3af",
      "tree": "f98a00f38cb848169f9d6fba33bca1fbd0f2b9b1",
      "parents": [
        "344358520ec67481a3f3b54d147d09ec031852da"
      ],
      "author": {
        "name": "Michael Hoisie",
        "email": "hoisie@google.com",
        "time": "Fri May 01 07:16:11 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 01 07:16:29 2026 -0700"
      },
      "message": "Mark --useAaptCruncher as deprecated\n\nThis option is not used. Stop passing it in from busybox.bzl.\n\nPiperOrigin-RevId: 908719342\nChange-Id: Id51c4bc2f181231e7e6289eea10a149444d92760\n"
    },
    {
      "commit": "344358520ec67481a3f3b54d147d09ec031852da",
      "tree": "db2c50c8577c9e2c7661008029846257ce0a853d",
      "parents": [
        "a90e1a2d27081d045fb671e04292527eafb973ab"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Thu Apr 30 11:37:50 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 30 11:38:16 2026 -0700"
      },
      "message": "Optimize DexLimitTracker by using Guava weak interner\n\nPiperOrigin-RevId: 908290156\nChange-Id: Ia556ffa5b9e7c11c109d3653e40ed47fb28c913d\n"
    },
    {
      "commit": "a90e1a2d27081d045fb671e04292527eafb973ab",
      "tree": "9ec07ffeef97275965574d5e84703329fa495278",
      "parents": [
        "5cbd7ca9e9259a0972b8cb74e625e8d61c0481ce"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Fri Apr 24 14:02:17 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 24 14:02:38 2026 -0700"
      },
      "message": "Correctly propagate native libs in aar_import.\n\nReuse the same logic as android_library. I\u0027ve wired up the acl as a fallback as I hope/expect this to be broadly ok.\n\nPiperOrigin-RevId: 905210166\nChange-Id: Ie3c6459032c1b312a9b7da5e0116caba610b9583\n"
    },
    {
      "commit": "5cbd7ca9e9259a0972b8cb74e625e8d61c0481ce",
      "tree": "bd162b7e8a03b77d5948d309dac4cf2120a0ed17",
      "parents": [
        "5075e1222bb324efb7201a5fe814128528208ece"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Fri Apr 24 10:45:04 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 24 10:46:35 2026 -0700"
      },
      "message": "Do not pass busybox to tools.\n\nThis is already set as the executable, passing to tools is redundant.\n\nPiperOrigin-RevId: 905112729\nChange-Id: I2185b9c943c16a332cd1c9aca8e487351808f4fb\n"
    },
    {
      "commit": "5075e1222bb324efb7201a5fe814128528208ece",
      "tree": "70dd9caa08d9906839e0a798a285720cdfabd033",
      "parents": [
        "74bedd2c7c3c7c0f8b181cecf201d67959166744"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Tue Apr 21 16:02:21 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 21 16:02:48 2026 -0700"
      },
      "message": "Add support for --enable-sparse-encoding\n\nFor now this is an attribute on android_binary, but the longer term intention\nis to enable by default.\n\nIs a no-op unless minSdk 32+, and additionally aapt will only enable this if it decides there are enough missing resources that the sparse table is worth it. Added test cases to ensure this.\n\nPiperOrigin-RevId: 903473645\nChange-Id: Ia73b2cdfb85cef0fb7fcf6501134cdf7217089e4\n"
    },
    {
      "commit": "74bedd2c7c3c7c0f8b181cecf201d67959166744",
      "tree": "4685ad0b3d648168fec0a1031467290c92af5466",
      "parents": [
        "88fea8ef78b6b39631507f0804b03e1c58604c6b"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Apr 21 13:39:29 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 21 13:39:50 2026 -0700"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 903401848\nChange-Id: Ica2e600840b6d076ab2975467d90adc412bc63c4\n"
    },
    {
      "commit": "88fea8ef78b6b39631507f0804b03e1c58604c6b",
      "tree": "990a1bc5ab3139278639a2856c38192f6b973673",
      "parents": [
        "fc11fbd2ce989968b7f952cd755ecba8dec13309"
      ],
      "author": {
        "name": "Ben Lee",
        "email": "ben@ben.cm",
        "time": "Mon Apr 20 14:59:10 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 20 14:59:37 2026 -0700"
      },
      "message": "Merge #483 by Bencodes: Fix R8 not processing META-INF/services\n\nCorrectly exposing the resources to R8 so that they get obfuscated correctly.\nCloses #483\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/483 from Bencodes:fix-r8-not-processing-meta-inf-services 2d56e8a727f94194bb8e1e2f40d2d1e7cb9ed2b7\nPiperOrigin-RevId: 902838078\nChange-Id: Ifd69c38f66f2db599f37520e683afc95daf77e70\n"
    },
    {
      "commit": "fc11fbd2ce989968b7f952cd755ecba8dec13309",
      "tree": "3bc0dadfa112d1ec12f500dbc0fb2f03d50c9fdc",
      "parents": [
        "a829baa49a04b9142e4db8110b6bd98131b504d2"
      ],
      "author": {
        "name": "Michael Hoisie",
        "email": "hoisie@google.com",
        "time": "Mon Apr 20 12:20:41 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 20 12:21:02 2026 -0700"
      },
      "message": "Use C1 JIT for three Android Build actions\n\nUpdate LinkAndroidResources, PackageAndroidResources, and\nStarlarkMergeCompiledAndroidResources to use C1 JIT flags.\nThese JIT flags demonstrate performance improvements\nfor these actions across all percentiles.\n\nPiperOrigin-RevId: 902763147\nChange-Id: I896510e6ac06b9e17277709383237f83603fb1c0\n"
    },
    {
      "commit": "a829baa49a04b9142e4db8110b6bd98131b504d2",
      "tree": "afb874cd02d6ef29fab8ff0e9bbf08fc9c126c28",
      "parents": [
        "ace9a2730d95fff5de91115b1a39b9ad6a37a1d8"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Thu Apr 16 14:11:51 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 16 14:12:19 2026 -0700"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 900903741\nChange-Id: I8cfd0d901aca43cfe8368814c1bf4944813b6d5b\n"
    },
    {
      "commit": "ace9a2730d95fff5de91115b1a39b9ad6a37a1d8",
      "tree": "c5c862a02bfdf7a835d331dc1ce5af86ecdb87f5",
      "parents": [
        "c663e55a0355194151813cbe469d8296ac3544c0"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Wed Apr 15 16:10:48 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 15 16:11:26 2026 -0700"
      },
      "message": "Internal change.\n\nPiperOrigin-RevId: 900391867\nChange-Id: I391cc9ea6b0abe0b5bb31b04a58d68de706b0431\n"
    },
    {
      "commit": "c663e55a0355194151813cbe469d8296ac3544c0",
      "tree": "9df72e9388fbc3dd2676672ab428fa83c79727b0",
      "parents": [
        "ff5c215a51ccec23195c19260fe605869c95295a"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Wed Apr 15 12:45:03 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 15 12:45:38 2026 -0700"
      },
      "message": "Create and wire up new configuration option for bytecode transformer.\n\nPiperOrigin-RevId: 900299199\nChange-Id: I3d2b0e293b96bf0ee416c7131706db48dbb1ed7b\n"
    },
    {
      "commit": "ff5c215a51ccec23195c19260fe605869c95295a",
      "tree": "959f42d4a61385da5134061e8979b6a71e807006",
      "parents": [
        "2c8568f7242536753b4a241fea279e617ce444b7"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Tue Apr 14 17:30:11 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 14 17:30:38 2026 -0700"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 899852479\nChange-Id: If5175a77ecaf95d4a5520ef4a288940063837ab0\n"
    },
    {
      "commit": "2c8568f7242536753b4a241fea279e617ce444b7",
      "tree": "ef6c794ad6a327e378b5a04e5b5855413baf4044",
      "parents": [
        "8f67bfeb7f20d3579b2f9c6dfd3bcdd2b7e03c07"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Tue Apr 14 17:19:08 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 14 17:19:27 2026 -0700"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 899848495\nChange-Id: If44baaaea59a4c99ddc3b413e13ec64d7868f5b7\n"
    },
    {
      "commit": "8f67bfeb7f20d3579b2f9c6dfd3bcdd2b7e03c07",
      "tree": "05c5e4500dd682116d8cdff070fc0f8e4d84bcc4",
      "parents": [
        "189e943e968090ce954834028e3c034f1506d90f"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Tue Apr 14 11:16:13 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 14 11:18:14 2026 -0700"
      },
      "message": "Create Starlark flags defs for desugar_for_android\n\nPiperOrigin-RevId: 899683659\nChange-Id: I9eaaeb3a6d72133dea51eae2c6cb8017b9ddc03c\n"
    },
    {
      "commit": "189e943e968090ce954834028e3c034f1506d90f",
      "tree": "84942f1f4352d11879a687c74418134fe129f07f",
      "parents": [
        "e0db9cf6c1bfab7508a3f11c5db090b26f34a3bd"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Mon Apr 13 15:15:56 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 13 15:16:16 2026 -0700"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 899206609\nChange-Id: I96558da800501ef957708af01663493963a6685f\n"
    },
    {
      "commit": "e0db9cf6c1bfab7508a3f11c5db090b26f34a3bd",
      "tree": "ccb72b7c0b9c77aab563e0f564d116ceee84009e",
      "parents": [
        "21b08f7dead13fb9d23dca54b71cf4b672b8d789"
      ],
      "author": {
        "name": "Ben Lee",
        "email": "ben@ben.cm",
        "time": "Fri Apr 10 14:53:54 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 10 14:54:17 2026 -0700"
      },
      "message": "Merge #471 by Bencodes: Fix R8 --desugar_java8_libs support\n\nPotential fix for https://github.com/bazelbuild/rules_android/issues/455 and a test that helps repro this issue over here https://github.com/bazelbuild/rules_android/pull/470\nCloses #471\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/471 from Bencodes:fix-desugar-jdk8-libs-support c7271b8753415f38406d8469649d4ce1dcebb948\nPiperOrigin-RevId: 897901132\nChange-Id: I19bf1cff38f35cee1e8c2df797c1a00beb43cf23\n"
    },
    {
      "commit": "21b08f7dead13fb9d23dca54b71cf4b672b8d789",
      "tree": "7ae985cf24143b077c858d30f14cfe4e12db5083",
      "parents": [
        "7b83dc3dc08337ff250f49a1851961c3e7105c3a"
      ],
      "author": {
        "name": "Ted Xie",
        "email": "tedx@google.com",
        "time": "Fri Apr 10 14:26:20 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 10 14:26:51 2026 -0700"
      },
      "message": "Prepare for 0.7.2\n\nPiperOrigin-RevId: 897888583\nChange-Id: Id514f389c69db3d3ff359b29c0639cedca49cabd\n"
    },
    {
      "commit": "7b83dc3dc08337ff250f49a1851961c3e7105c3a",
      "tree": "e0c841883a8ad7a889bcdb7d94843c0d049a3e3a",
      "parents": [
        "9f7bf9ca36397e148efa84bff58aa83ed1703de1"
      ],
      "author": {
        "name": "Ted",
        "email": "tedxie01@gmail.com",
        "time": "Fri Apr 10 10:58:45 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 10 10:59:10 2026 -0700"
      },
      "message": "Merge #479 by ted-xie: Fix dexer test\n\nFixes BazelCI failures: https://buildkite.com/bazel/rules-android/builds/4397\nCloses #479\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/479 from ted-xie:fix_dexer_test adad70c9da80ac51cd6a8795f0b29d2692f4be10\nPiperOrigin-RevId: 897780937\nChange-Id: I837125ba6606f1648eed0b9d9ebcc1928396126b\n"
    },
    {
      "commit": "9f7bf9ca36397e148efa84bff58aa83ed1703de1",
      "tree": "3e5c973597b8bdb40fe2f7081cef3c2a44ce69b9",
      "parents": [
        "9e108dfc566514d13f66842d60c8b199f8412e13"
      ],
      "author": {
        "name": "Ted Xie",
        "email": "tedx@google.com",
        "time": "Fri Apr 10 08:04:48 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 10 08:05:17 2026 -0700"
      },
      "message": "_zip_file() uses singlejar\n\nThe rules_android `zip` tool doesn\u0027t zero out timestamps and is prone to nondeterminism. singlejar is already used elsewhere in rules_android for a similar purpose.\nFollow-up to #475.\n\nPiperOrigin-RevId: 897694881\nChange-Id: I5b34ce4f9a9736accdb7c9e7f169ee2eb2a3156f\n"
    },
    {
      "commit": "9e108dfc566514d13f66842d60c8b199f8412e13",
      "tree": "fcad0eafe7636d5a34ac3b48c3e5e6bc28df5ab1",
      "parents": [
        "00fdecba4c1ce8d4302cc47305c8d4ab928a7fea"
      ],
      "author": {
        "name": "Michael Hoisie",
        "email": "hoisie@google.com",
        "time": "Thu Apr 09 12:06:32 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 09 12:07:07 2026 -0700"
      },
      "message": "Deduplicate ResourceLinker asset directories\n\nResourceLinker was passing duplicate asset directories as\narguments. Aapt2 happily re-processed these asset directories,\ncausing a lot of duplicated and costly zip compression.\n\nPiperOrigin-RevId: 897234787\nChange-Id: I741e1909ef5fdf532017ad40da129b2d0d71ea74\n"
    },
    {
      "commit": "00fdecba4c1ce8d4302cc47305c8d4ab928a7fea",
      "tree": "5e90ccf3169831072a02a4d5418ab325e93924c9",
      "parents": [
        "0f355acd76a2a5b78e4477a0d1b4f821fb550bdd"
      ],
      "author": {
        "name": "larryxiao",
        "email": "romerxzh@gmail.com",
        "time": "Wed Apr 08 12:36:57 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 08 12:37:18 2026 -0700"
      },
      "message": "Merge #473 by larryxiao625: feat(android_sdk_repository): support string-based platform API level\n\nPreviously, API levels were handled as integers, which prevented support for minor version formats like \"36.1\". This change migrates the entire android_sdk_repository rule to treat API levels as strings throughout. This is intend to fix #472\n\nChanges:\n- Rename `int_flag`/`_int_flag_impl` to `string_flag`/`_string_flag_impl` in helper.bzl; update config type and formatting from int to string\n- Update `_read_api_levels` in rule.bzl to use `is_android_revision` and store levels as strings; update default API level selection to parse and compare major.minor.micro components\n- Update all name/path/log formatting from `%d` to `%s` for api_level\n- Pass `default_api_level` as string in template.bzl\n- Add `test_platforms_with_minor_versions` test to verify \"36.1\" style API levels are correctly recognized and logged\nCloses #473\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/473 from larryxiao625:feat/support_string_based_platform_api_levels 55ab067d69bf80401353b8009d8e1185cb1f1f1a\nPiperOrigin-RevId: 896644139\nChange-Id: Iea8569710ad53ac11b95ff3353bd83886223a2bf\n"
    },
    {
      "commit": "0f355acd76a2a5b78e4477a0d1b4f821fb550bdd",
      "tree": "23ed9ecc1560a1b36d04936b0af12ec906d5e5d8",
      "parents": [
        "ed67c19624b04163322d37e69d2501863e5031e5"
      ],
      "author": {
        "name": "arteghem",
        "email": "52428902+oliviernotteghem@users.noreply.github.com",
        "time": "Tue Apr 07 12:59:25 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 07 12:59:46 2026 -0700"
      },
      "message": "Merge #475 by oliviernotteghem: Fix non-deterministic properties.jar causing (remote) cache misses fo…\n\n…r Robolectric tests\n\nRobolectric tests in android_local_test rules produce a properties.jar archive containing test_config.properties. This jar is an input to the TestRunner action, so its SHA-256 hash is part of the remote cache key.\n\nOn CI, TestRunner consistently missed the remote cache even when nothing had changed.\n\nIn rules/android_local_test/impl.bzl, the _zip_file helper stages the file before zipping:\n\n```\n  cp $base/{f} {dir_name}\n  zip -jt -X -q $base/{out_zip} {dir_name}/$(basename {f})\n```\n\nBecause cp is used without -p, it resets the file\u0027s mtime to the current time. The zip tool embeds this timestamp into the archive. Note that zip -X does not reset mtime (which is the problem here).\n\nAs a result, two CI agents produce properties.jar files with identical content but different timestamps → different SHA-256 → cache miss.\n\nUse `cp -p` to preserve the original mtime of file, which is deterministic (because file is created by starlark ctx.actions.expand_template method)\n\nThis makes the zip output deterministic across agents and stabilizes the TestRunner cache key.\nCloses #475\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/475 from oliviernotteghem:local_test_remote_caching d56c66f79500f1f4b511523d9377a3896b787aed\nPiperOrigin-RevId: 896047270\nChange-Id: I1ddf72b43c364d783a1dad1b761577036ea0bff8\n"
    },
    {
      "commit": "ed67c19624b04163322d37e69d2501863e5031e5",
      "tree": "a54816cf12172261ac10826e613b72cfa763017a",
      "parents": [
        "110aa48e89f43408587d01b833a2d1ff4f44319c"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Tue Mar 31 14:18:17 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 14:18:45 2026 -0700"
      },
      "message": "Add some additional tests for DexFileSplitter\n\nPiperOrigin-RevId: 892535245\nChange-Id: Ia0163fc2c7636b4aa383d7c518dc568b6c7821a7\n"
    },
    {
      "commit": "110aa48e89f43408587d01b833a2d1ff4f44319c",
      "tree": "e0e8435f869f4dc819289d30ae62fff628504983",
      "parents": [
        "c4c120e3f73868acc6786fa09b478997016e69c4"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Tue Mar 31 08:33:19 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 08:33:42 2026 -0700"
      },
      "message": "Enable DexFileSplitter to take advantage of running on multiple cores\n\nPiperOrigin-RevId: 892357490\nChange-Id: Ia9b1e0bc86cfc7cc7f1530dc3cfa2d73a4b92902\n"
    },
    {
      "commit": "c4c120e3f73868acc6786fa09b478997016e69c4",
      "tree": "edee1862063cb612e628baf630053e45c52495bb",
      "parents": [
        "abe7b35ad1953a33cff3213354a6c30fa206f75b"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Fri Mar 27 13:53:19 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 13:53:42 2026 -0700"
      },
      "message": "Use deploy jar for the robolectric runtime classpath.\n\nWe can use the same jar for the merged instrumentation jar.\n\nThis does slightly slow down builds (although not by much, due to preserving\ncompression in singlejar) but significantly speeds up test runtime due to the\nmuch smaller classpath length.\n\nPiperOrigin-RevId: 890621027\nChange-Id: Ic10bf4de11cc8c43719b67adffaca069c1fcb199\n"
    },
    {
      "commit": "abe7b35ad1953a33cff3213354a6c30fa206f75b",
      "tree": "6c6b085fa9dc159ea232ad99ea2c61b1d544535b",
      "parents": [
        "5b325b268da9035eb2eba102d544d3bfcc2c5fa6"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Thu Mar 26 11:59:55 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 12:00:28 2026 -0700"
      },
      "message": "Create starlark flags for incremental_dexing_after_proguard\n\nPiperOrigin-RevId: 889970268\nChange-Id: I8b10ace09a3cec938bf1e1b4dc4db38fcb1a12ed\n"
    },
    {
      "commit": "5b325b268da9035eb2eba102d544d3bfcc2c5fa6",
      "tree": "2bcdec0e8bd4dbdd4bc133d4355c247787f70952",
      "parents": [
        "8423ab54acb63ad1dee4c788db209d28499d2ac3"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Wed Mar 25 12:18:56 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 12:19:25 2026 -0700"
      },
      "message": "Pipe aapt2 feature flags to mobile-install manifest compilation.\n\nPiperOrigin-RevId: 889371696\nChange-Id: Ia126f790def41714487ca8fb28de9f185b627033\n"
    },
    {
      "commit": "8423ab54acb63ad1dee4c788db209d28499d2ac3",
      "tree": "b4b0773fce9c518d0ede7dc107d16c0ffa8b9442",
      "parents": [
        "b01a9c699dcfaac80d13e38cd163c51308f66b3e"
      ],
      "author": {
        "name": "Sheroz Nazhmudinov",
        "email": "sherozn@spotify.com",
        "time": "Wed Mar 25 08:37:50 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 08:38:22 2026 -0700"
      },
      "message": "Merge #460 by snazhmudinov: Extract embedded proguard specs from JARs and AARs during R8\n\n### What has changed\n\nExtract embedded proguard specs from JARs and AARs. Add support for extracting proguard specs embedded in META-INF/proguard/ and META-INF/com.android.tools/ — matching what AGP/R8 does by default.\n\n### What\u0027s new\n\n- proguard_extractor_lib.py — shared library with extraction logic for both JAR and AAR archives\n- jar_embedded_proguard_extractor — new tool for extracting specs from JARs (used by R8)\n- aar_embedded_proguard_extractor — extended to optionally extract R8 rules from classes.jar\n\n### Feature flags (both default False)\n\n- r8_extract_embedded_proguard_specs — enables embedded spec extraction from the deploy JAR during R8\n- aar_import_extract_r8_rules — enables R8-targeted rule extraction from classes.jar in aar_import()\n\nBoth behaviors are opt-in to avoid breaking existing builds.\nCloses #460\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/460 from snazhmudinov:extend-r8-proguard-extractor 7289309a538e838fced9ad86f5a9f64b51bf8426\nPiperOrigin-RevId: 889262358\nChange-Id: I2cc32437d8463547de416bb2ba1c6bb7e62126b4\n"
    },
    {
      "commit": "b01a9c699dcfaac80d13e38cd163c51308f66b3e",
      "tree": "481d7a3fca6c5cb5d171fd045cabfff62c43c65f",
      "parents": [
        "362d5c7fc12f4ef1e512d4750738d9cd361e0ccd"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Mon Mar 23 15:18:09 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 23 15:18:36 2026 -0700"
      },
      "message": "Move forbidden + supported dexopts into bzl.\n\nThese are currently set via native flags that are being deleted.\n\nget_dexopts_supported_in_incremental_dexing and get_target_dexopts_that_prevent_incremental_dexing\n\nPiperOrigin-RevId: 888305640\nChange-Id: I294ac27a24778823ceb49853601c5fdf62fbc051\n"
    },
    {
      "commit": "362d5c7fc12f4ef1e512d4750738d9cd361e0ccd",
      "tree": "d34dcff0966141cb421aca49f805080630debe3b",
      "parents": [
        "2ea4e75f1abb2729eed88a826bc9752fc17c2aff"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon Mar 23 05:42:29 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 23 05:42:52 2026 -0700"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 888046568\nChange-Id: Iba06553f12b0fabf4601610ff817dc4aca242fab\n"
    },
    {
      "commit": "2ea4e75f1abb2729eed88a826bc9752fc17c2aff",
      "tree": "044f6d1a85035f119278095e3b4d7155a0f87d7c",
      "parents": [
        "615c0e2be39b9192228e34a780640cab75048dc2"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Thu Mar 19 20:12:51 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 19 20:13:16 2026 -0700"
      },
      "message": "Modernize, refactor, and fix DexFileSplitterTest tests.\n\nPiperOrigin-RevId: 886521121\nChange-Id: I274a24109c4437a10cdff61417b69ab16600439f\n"
    },
    {
      "commit": "615c0e2be39b9192228e34a780640cab75048dc2",
      "tree": "724946d9dd1580512678c11a0e3ddc7aa65f572c",
      "parents": [
        "2bd55f46dde5fe1020be9e1fb71619b93cd4a1b9"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Thu Mar 19 08:27:42 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 19 08:28:15 2026 -0700"
      },
      "message": "Avoid recompiling regex pattern for each function call.\n\nPiperOrigin-RevId: 886193837\nChange-Id: I199961aa66c5430625f77bb618b8953f13a9e6d6\n"
    },
    {
      "commit": "2bd55f46dde5fe1020be9e1fb71619b93cd4a1b9",
      "tree": "447d0573b05f941a7da7de935b8173f8d6b52026",
      "parents": [
        "f3dd095c0c0c84ea1de12d912fff520ca2d25081"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Wed Mar 18 09:58:42 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 18 09:59:11 2026 -0700"
      },
      "message": "Create starlark flags definitions\n\nPiperOrigin-RevId: 885652334\nChange-Id: I2ce479da0a57b8afde65de4a9324de6ddea9a1c9\n"
    },
    {
      "commit": "f3dd095c0c0c84ea1de12d912fff520ca2d25081",
      "tree": "9387eb584c1634696cbefcfa9ade2a9f9101e2d1",
      "parents": [
        "00ac092c4f2d0217b6fd1a7f0cd004e73c4272c9"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Fri Mar 13 09:51:49 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 13 09:52:11 2026 -0700"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 883213123\nChange-Id: I9a6c9a42de1a884cae01080cb53435a12f995580\n"
    },
    {
      "commit": "00ac092c4f2d0217b6fd1a7f0cd004e73c4272c9",
      "tree": "91b1daed25619faa45f75a6d274668988ff583cd",
      "parents": [
        "658f7a657b01957f01588d0c5d6f3d4aecd9066d"
      ],
      "author": {
        "name": "Ted",
        "email": "tedxie01@gmail.com",
        "time": "Thu Mar 12 14:30:44 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 12 14:31:06 2026 -0700"
      },
      "message": "Merge #469 by ted-xie: Only consider directory contents in SDK subdirs\n\n* Adds a test that adds .DS_Store file into the system-images dir.\n* Fixes SDK integration tests and restores them.\n* Adds a test to fail unsupported build-tools versions.\n\nFixes #422\nFixes #386\nFixes #368\nCloses #469\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/469 from ted-xie:sdk_readdir_helper 81c957ebd7309d93f20d8c046b2db129a4682f2b\nPiperOrigin-RevId: 882781365\nChange-Id: I4ae665e7abc50b8d2a75fed7bac315814d524acb\n"
    },
    {
      "commit": "658f7a657b01957f01588d0c5d6f3d4aecd9066d",
      "tree": "2917198c914144dc8873534bbfc973a384cf04ac",
      "parents": [
        "693d8d2dea0658bd6b05f9b8368c927ba2e3a575"
      ],
      "author": {
        "name": "Markus Hofbauer",
        "email": "markus.hofbauer@flyzipline.com",
        "time": "Thu Mar 12 14:03:29 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 12 14:03:53 2026 -0700"
      },
      "message": "Merge #454 by hofbi: Export platform-tools/adb for incompatible_no_implicit_file_export\n\nFixes https://github.com/bazelbuild/rules_android/issues/440\n\nAdding exports_files to make https://github.com/bazelbuild/rules_android/blob/2985c25a21095df2ec0dc4377938d61dd532bcf6/rules/android_sdk_repository/template.bzl#L85 visible. Alternatively, we could use the alias in https://github.com/bazelbuild/rules_android/blob/2985c25a21095df2ec0dc4377938d61dd532bcf6/toolchains/android/toolchain.bzl#L55 instead of the file.\nCloses #454\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/454 from hofbi:patch-1 4b14895f035868313922bed19d4036cb46371e3b\nPiperOrigin-RevId: 882767449\nChange-Id: I8d301f66368c76cf2a40d51c0dd9771a640b84ea\n"
    },
    {
      "commit": "693d8d2dea0658bd6b05f9b8368c927ba2e3a575",
      "tree": "1632945f7c0a8da0cb6b5f6df2dd4461891b29e9",
      "parents": [
        "305cf2f6661a35df82a595c78f18fdf207022c24"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Thu Mar 12 11:42:17 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 12 11:42:50 2026 -0700"
      },
      "message": "Remove the unused exemption list for multi proto flavor validation.\n\nPiperOrigin-RevId: 882699225\nChange-Id: I5fcdb0c4717810c721c521bddbb9c54d634ac77d\n"
    },
    {
      "commit": "305cf2f6661a35df82a595c78f18fdf207022c24",
      "tree": "e7b1126b1b18404e79a91da14807310c96d423aa",
      "parents": [
        "c7d89cfc48c50ade4577aadbeb4a8973ec1690c1"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Thu Mar 05 11:40:53 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 05 11:41:37 2026 -0800"
      },
      "message": "Force incremental_dexing_after_proguard_by_default to True so we can delete the flag in a follow up cl\n\nPiperOrigin-RevId: 879171277\nChange-Id: Iace2eedbf9f20b1eaf7228db012f98c06c07614d\n"
    },
    {
      "commit": "c7d89cfc48c50ade4577aadbeb4a8973ec1690c1",
      "tree": "00a2e202f896686c5ecdb942307ccac9958e3526",
      "parents": [
        "5f8cd57ce2883e9acaf329471b2fdc9051cdae54"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Wed Mar 04 19:17:57 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 04 19:18:47 2026 -0800"
      },
      "message": "Delete references to use_incremental_dexing and check_desugar_deps.\n\nThese are globally set to true. We can clean up these code paths.\n\nPiperOrigin-RevId: 878777025\nChange-Id: I8361f1cb33c67361641fabd4a2a003e31fa742c3\n"
    },
    {
      "commit": "5f8cd57ce2883e9acaf329471b2fdc9051cdae54",
      "tree": "0afa05738a43e3be3f0460c526a4f3377e525eaf",
      "parents": [
        "66f9a44aab872055b31c894f5792871aea4b79eb"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Wed Mar 04 15:48:11 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 04 15:48:34 2026 -0800"
      },
      "message": "Pass zipalign native library alignment argument as a string instead of an integer.\n\nPiperOrigin-RevId: 878704141\nChange-Id: I49e5627bef01534b0feb788a4f357393c6b105e7\n"
    },
    {
      "commit": "66f9a44aab872055b31c894f5792871aea4b79eb",
      "tree": "e91dcf49e43e8c5218d8db5181a68de1ba468a3d",
      "parents": [
        "29a0e0e1059b51123f89a84e1abf49828b6f0872"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Wed Mar 04 12:09:59 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 04 12:10:30 2026 -0800"
      },
      "message": "Allow customizing zipalign alignment in android_binary rules.\n\nPiperOrigin-RevId: 878605361\nChange-Id: I569b02924a2ee227dee30e13c4f4a52f5cb48659\n"
    },
    {
      "commit": "29a0e0e1059b51123f89a84e1abf49828b6f0872",
      "tree": "78dde32b25eff40c69bacd7bb46a49b8f6aee059",
      "parents": [
        "7ddcfc79263cc001307acc719ac272a5fc3eab18"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Wed Mar 04 11:07:18 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 04 11:09:25 2026 -0800"
      },
      "message": "Remove legacy Android local test multi proto exemption capability as it is no longer used.\n\nPiperOrigin-RevId: 878575436\nChange-Id: Iaa503452b8918a59b59cca104da0fe9759359a2d\n"
    },
    {
      "commit": "7ddcfc79263cc001307acc719ac272a5fc3eab18",
      "tree": "aa4f6471403e0e4c86e5af2dfd67e51e6b8d9d8c",
      "parents": [
        "2cae3aa72d234ee7c48a66049d539e959c7ee9fd"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Tue Mar 03 15:51:18 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 03 15:51:43 2026 -0800"
      },
      "message": "No longer check value of assume_min_sdk_version\n\nThis has been set to true for many years and is about to be deleted.\n\nPiperOrigin-RevId: 878162006\nChange-Id: Ib1d26e8663fc327b9a02aafbd974b6bed56e778e\n"
    },
    {
      "commit": "2cae3aa72d234ee7c48a66049d539e959c7ee9fd",
      "tree": "cbb1f792ccb03750a6a70d1c62eb1aefd86790e5",
      "parents": [
        "a1d72ab513531a736369c432f81e06c15b33b550"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Tue Mar 03 13:32:16 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 03 13:32:38 2026 -0800"
      },
      "message": "Force dynamic_mode to off in the android_split_transition.\n\nPiperOrigin-RevId: 878102605\nChange-Id: I60ec6507f8221fba0005edf874118be8d077c23e\n"
    },
    {
      "commit": "a1d72ab513531a736369c432f81e06c15b33b550",
      "tree": "0649df36bd2bf7eaa19c8879933fec0c4e08ed1f",
      "parents": [
        "a4f7028693ed03afc2f786a25626b91b62d80ff6"
      ],
      "author": {
        "name": "Ted Xie",
        "email": "tedx@google.com",
        "time": "Mon Mar 02 15:58:40 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 02 15:59:04 2026 -0800"
      },
      "message": "Add mirror for googlesource tarballs\n\n#465\n\nPiperOrigin-RevId: 877618118\nChange-Id: I89abc54a3299437dc605f034928eecb6f4540887\n"
    },
    {
      "commit": "a4f7028693ed03afc2f786a25626b91b62d80ff6",
      "tree": "e5ed8c6bc12d88ff6c114bceb483d6f3853a4ea0",
      "parents": [
        "ab8047fb6e0a830549085bd1ee8f01975dd88a2f"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Mon Mar 02 13:45:40 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 02 13:46:03 2026 -0800"
      },
      "message": "Preserve APK alignment during signing.\n\nAdd `--alignment-preserved true` to the apk_signer invocation to ensure that alignment performed by zipalign is not lost during the signing process, following a change in apk_signer\u0027s default behavior.\n\nPiperOrigin-RevId: 877559206\nChange-Id: Ie77bb6c73e0d491fd3feef699423a05334984285\n"
    },
    {
      "commit": "ab8047fb6e0a830549085bd1ee8f01975dd88a2f",
      "tree": "0aec5adcadf9e36acfda1712a76d63bfc4d74cb7",
      "parents": [
        "04fafaadbc597f5c502d13ea45e2a4bff796a6d2"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Thu Feb 26 16:29:05 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Feb 26 16:29:38 2026 -0800"
      },
      "message": "Remove logic for handling legacy multidex.\n\nAll multidex attributes are now ignored.\n\nPiperOrigin-RevId: 875943006\nChange-Id: I13fce6e411592b85c5a2a323399e575b51f7fca8\n"
    },
    {
      "commit": "04fafaadbc597f5c502d13ea45e2a4bff796a6d2",
      "tree": "5b8ef9807ccf87604543e4a5476f355254aa7e88",
      "parents": [
        "c824b39a05e1bdd404a66a52a3e50298b81c302f"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Wed Feb 25 12:18:51 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 25 12:19:12 2026 -0800"
      },
      "message": "Properly handle toolchain deps for java_lite_proto_library\n\nPiperOrigin-RevId: 875281035\nChange-Id: I40bd72d61fe974cd203a8b24f46a05216f54671e\n"
    },
    {
      "commit": "c824b39a05e1bdd404a66a52a3e50298b81c302f",
      "tree": "bb4126e2cac873b56b4ecae7a8603a3f4e54b3cc",
      "parents": [
        "8936d9e795be9bc6641c392f0bb68e43b066fb35"
      ],
      "author": {
        "name": "Tobias Werth",
        "email": "twerth@google.com",
        "time": "Mon Feb 23 09:49:08 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 23 09:49:42 2026 -0800"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 874121763\nChange-Id: I52b58aff79dff87b43931749dfe3ae209a01f91f\n"
    },
    {
      "commit": "8936d9e795be9bc6641c392f0bb68e43b066fb35",
      "tree": "6a4893557d35e1c92f9c9a79d3d582f724326e62",
      "parents": [
        "cbcf83cd13954a86235fcdc1454db456bfca3c32"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Wed Feb 18 02:00:13 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 18 02:01:01 2026 -0800"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 871745600\nChange-Id: I15401ea89ed186edc7e0778851c4f9a4b9b370a6\n"
    },
    {
      "commit": "cbcf83cd13954a86235fcdc1454db456bfca3c32",
      "tree": "5c0edca2de8dfc86a8581419fee46864d6b818d7",
      "parents": [
        "dd245bd13c6abd79114c42ccd0440e5d1732d7d8"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Fri Feb 13 13:33:22 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Feb 13 13:34:05 2026 -0800"
      },
      "message": "Stop exposing the native `--stamp` flag to all Android rules.\n\nPiperOrigin-RevId: 869867184\nChange-Id: I293763bb53aa0522377a9cf0f6c6a44acb8dcc29\n"
    },
    {
      "commit": "dd245bd13c6abd79114c42ccd0440e5d1732d7d8",
      "tree": "3423a7c27040e12ee7de969b27c42490bc2ec4c2",
      "parents": [
        "ca4a3124160e2d420f2ecb288f0603ff51130c74"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Tue Feb 10 23:45:12 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 10 23:46:02 2026 -0800"
      },
      "message": "Add support for creating D8 compiler input dumps in bazel\n\nThis adds support in bazel for easily generating D8 compiler input dump file for the dex merging task. The generated compiler input dump file is a zip file that contains all inputs to the given compilation and makes it easy to reproduce and debug a given compilation.\n\nThis can be enabled by adding `--define\u003dgenerate_d8_dump\u003dtrue` to a given build command.\n\nSee also https://r8.googlesource.com/r8/+/refs/heads/main/doc/compilerdump.md.\n\nPiperOrigin-RevId: 868512663\nChange-Id: Ic315105820ddf3907e872b6bc147e137c3714856\n"
    },
    {
      "commit": "ca4a3124160e2d420f2ecb288f0603ff51130c74",
      "tree": "18798648fa111469e9b3a1e7e43bf0eb8dcba340",
      "parents": [
        "341f15e178bf24697e05fcbd874c9946c0682d23"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Tue Feb 10 16:34:44 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 10 16:35:12 2026 -0800"
      },
      "message": "Include target label in optimization action progress message.\n\nPiperOrigin-RevId: 868374011\nChange-Id: I92f5b210dbbbe3f1da8a4bcb901c77cf5f94b46d\n"
    },
    {
      "commit": "341f15e178bf24697e05fcbd874c9946c0682d23",
      "tree": "af4098ac603d99a0fd9303ecdbe4f50924f33ca3",
      "parents": [
        "b8ab40f88d124049b32b8d9d022fe6c470916d6e"
      ],
      "author": {
        "name": "Ted Xie",
        "email": "tedx@google.com",
        "time": "Tue Feb 10 13:06:50 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 10 13:08:19 2026 -0800"
      },
      "message": "Compatibility shim for java_common.add_constraints()\n\nPiperOrigin-RevId: 868283442\nChange-Id: I52778269821d2d640ba8613bc995e0e3ac28a9bf\n"
    },
    {
      "commit": "b8ab40f88d124049b32b8d9d022fe6c470916d6e",
      "tree": "987de382be39fd85986156d77dd604d811c61261",
      "parents": [
        "3bf8bae434c31ff591b6e76a9adfb8b25e0bb5d2"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Tue Feb 03 12:38:52 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 03 12:40:06 2026 -0800"
      },
      "message": "Forward exec_properties attribute in android_application macro.\n\nThis ensures that execution requirements, such as memory limits, set on an android_application target are correctly passed through to the underlying android_application rule invocation. Previously, these properties were not consistently applied to all actions generated by the rule, particularly the bundle building steps.\n\nPiperOrigin-RevId: 864999436\nChange-Id: I02c7512636f54db40ffb80abe80c753e4754edab\n"
    },
    {
      "commit": "3bf8bae434c31ff591b6e76a9adfb8b25e0bb5d2",
      "tree": "2b5a80830f3d0c0a5388b5b69deb12672981365c",
      "parents": [
        "8970c0623f6653015ffb4ac2c80b7531d8c38a52"
      ],
      "author": {
        "name": "Ted",
        "email": "tedxie01@gmail.com",
        "time": "Mon Feb 02 08:06:18 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 02 08:06:59 2026 -0800"
      },
      "message": "Merge #453 by ted-xie: Upgrade bazel-worker-api to v0.0.10\n\nFixes #452\nCloses #453\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/453 from ted-xie:worker-api-009 d0b23576e1b73d1fc840b877c678c7d35a1d5080\nPiperOrigin-RevId: 864360574\nChange-Id: I94ddb74ccd58545ea1e7b8f1cb2dd0c5db110816\n"
    },
    {
      "commit": "8970c0623f6653015ffb4ac2c80b7531d8c38a52",
      "tree": "3e367201bce5b42cab964c7edbf34b39b9c271e1",
      "parents": [
        "0bd777ff30be4492c45a5e21adfd4bbbf4c08ba9"
      ],
      "author": {
        "name": "Samuel Freilich",
        "email": "sfreilich@google.com",
        "time": "Fri Jan 30 14:24:23 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 30 14:24:48 2026 -0800"
      },
      "message": "Automated rollback of commit d8336b109a8dfdf108f9b0af01ef7d20a68dfaff.\n\nPiperOrigin-RevId: 863391243\nChange-Id: I4f35a5fd72465daecb8a4926d8f51f1164928e06\n"
    },
    {
      "commit": "0bd777ff30be4492c45a5e21adfd4bbbf4c08ba9",
      "tree": "430eb0a3bd2dfda27a1dd3f272db5e9160670fe6",
      "parents": [
        "d8336b109a8dfdf108f9b0af01ef7d20a68dfaff"
      ],
      "author": {
        "name": "Samuel Freilich",
        "email": "sfreilich@google.com",
        "time": "Fri Jan 30 07:47:08 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 30 07:47:50 2026 -0800"
      },
      "message": "Declare that android_local_test provides JavaInfo\n\nIt\u0027s best practice for rules to declare which providers they provide. That allows aspects to make better tradeoffs between correctness and efficiency: It\u0027s possible to restrict which targets an aspect propagates to with `aspect.required_providers`, but since that pruning is done _before_ analysis, it restricts that based on `rule.providers`, not what the rule actually returns (which can be a super-set of what\u0027s in `rule.providers`).\n\nPiperOrigin-RevId: 863236597\nChange-Id: I47f15a5ed51a247a32286663ed5ba8c4609d75fe\n"
    },
    {
      "commit": "d8336b109a8dfdf108f9b0af01ef7d20a68dfaff",
      "tree": "5bfebd8b5601e3bdd7dd5a3857c4694c6bb8b6ec",
      "parents": [
        "149c537b897e005bfac6adb1183f8c8b781d7e30"
      ],
      "author": {
        "name": "Samuel Freilich",
        "email": "sfreilich@google.com",
        "time": "Wed Jan 28 15:51:10 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 28 15:51:53 2026 -0800"
      },
      "message": "Propagate proto_registry_aspect from android_local_test.runtime_deps\n\nThat aspect is supposed to propagate via `runtime_deps`, but was not applied but was not applied to that attribute at the top level.\n\nPiperOrigin-RevId: 862431315\nChange-Id: I8bccdd65bb93905a910101c90af2f4499d858a33\n"
    },
    {
      "commit": "149c537b897e005bfac6adb1183f8c8b781d7e30",
      "tree": "d733c67d890000d16605239d06abab4a5645a47e",
      "parents": [
        "2985c25a21095df2ec0dc4377938d61dd532bcf6"
      ],
      "author": {
        "name": "Samuel Freilich",
        "email": "sfreilich@google.com",
        "time": "Wed Jan 28 12:25:27 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 28 12:25:52 2026 -0800"
      },
      "message": "Only traverse rules definitely providing JavaInfo in android_neverlink_aspect\n\nThis improves build performance by avoiding creating aspect targets for transitive dependencies that are not Java dependencies at all. The tradeoff is that it does require the participating rules to include `JavaInfo` in `rule.provides`.\n\nPiperOrigin-RevId: 862345672\nChange-Id: I3bd0665b73349b5ad83102cd7cf0aa4a150a67c9\n"
    },
    {
      "commit": "2985c25a21095df2ec0dc4377938d61dd532bcf6",
      "tree": "f34899626f88b82160775db790f74feab79495f5",
      "parents": [
        "f1e0382681d83b00e8a4b49f4bcf11ab174e7196"
      ],
      "author": {
        "name": "Sheroz Nazhmudinov",
        "email": "sherozn@spotify.com",
        "time": "Mon Jan 26 14:10:43 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jan 26 14:12:02 2026 -0800"
      },
      "message": "Merge #450 by snazhmudinov: Fix R8 processor to read minSdkVersion from manifest_values\n\nWe calculating the minSdkVersion we need take into account ALL the possible ways that value can be passed.\n\nSo the idea here is to take max value from `floor`, `min_sdk_version` attribute and `manifest_values[\"minSdkVersion\"]`.\nCloses #450\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/450 from snazhmudinov:r8-min-sdk e4e053d945a45017d7ab823e8ce1eb561277be7a\nPiperOrigin-RevId: 861349956\nChange-Id: I44246c89092a6d64e53157b386d730a3069048e7\n"
    },
    {
      "commit": "f1e0382681d83b00e8a4b49f4bcf11ab174e7196",
      "tree": "614d4c89d55e3e5bb3a4764dc49cbc63c1f75858",
      "parents": [
        "e2320f5a67c6bb4403c729ceb195dcf9d916c51e"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Sun Jan 18 08:41:52 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Jan 18 08:42:38 2026 -0800"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 857854961\nChange-Id: Id2d343738e8be18a94fa1103658dbe7f3a968504\n"
    },
    {
      "commit": "e2320f5a67c6bb4403c729ceb195dcf9d916c51e",
      "tree": "22e5227831867b8a2e3ddb54a3939aae1ec8a2fd",
      "parents": [
        "e6e58a635f45960b9ffe60d8a81b2002e16091a9"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Fri Jan 16 13:04:39 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 16 13:05:14 2026 -0800"
      },
      "message": "Avoid using .pop() with a default value.\n\nPiperOrigin-RevId: 857274669\nChange-Id: I034d29d38264e863e12f7cd40304e1006d29ff49\n"
    },
    {
      "commit": "e6e58a635f45960b9ffe60d8a81b2002e16091a9",
      "tree": "804dfa91f7792185d7e3db1dc75677536ee8d8dd",
      "parents": [
        "880cd0e130e0f1e598c2ad7b0695070c0b34d946"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Fri Jan 16 12:32:01 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 16 12:32:25 2026 -0800"
      },
      "message": "Attach aspects to proto attributes defined by Starlark flags.\n\nPiperOrigin-RevId: 857263444\nChange-Id: I9abb73442416229cad95cd83330af8273dd160dc\n"
    },
    {
      "commit": "880cd0e130e0f1e598c2ad7b0695070c0b34d946",
      "tree": "d63c5c206bd5f18b2bcf7a95e4ea06da3db5bc1f",
      "parents": [
        "94ec6a92f3b41bae21733075c8fd3b4b63621a03"
      ],
      "author": {
        "name": "Ted Xie",
        "email": "tedx@google.com",
        "time": "Wed Jan 14 14:48:54 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 14 14:49:24 2026 -0800"
      },
      "message": "Prepare for 0.7.1\n\nPiperOrigin-RevId: 856374555\nChange-Id: I93ff7f22c7b37fd53a2f00c68f0ba1f2fbcc12d6\n"
    },
    {
      "commit": "94ec6a92f3b41bae21733075c8fd3b4b63621a03",
      "tree": "ff1e93486ae45a004e26bad1ad3c239164cfb6ab",
      "parents": [
        "8761c446a41daf9580e1da30ce4a3c05bf1be228"
      ],
      "author": {
        "name": "Ted",
        "email": "tedxie01@gmail.com",
        "time": "Wed Jan 14 13:46:48 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 14 13:47:32 2026 -0800"
      },
      "message": "Merge #444 by ted-xie: Upgrade protobuf to v33.4\n\nCloses #444\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/444 from ted-xie:protobuf_33_4 c0688a010118cc2c510d7aa7f06a144f55e863b5\nPiperOrigin-RevId: 856348556\nChange-Id: I3cd5836effefd9878708d67eb9a032dd78223920\n"
    },
    {
      "commit": "8761c446a41daf9580e1da30ce4a3c05bf1be228",
      "tree": "b6e3153f14bee60fcb317fc7ea1960e01f50928f",
      "parents": [
        "063b244ede25306308b9f18b5e705e6ff6f2a6d9"
      ],
      "author": {
        "name": "Andrew Sinclair",
        "email": "asinclair@google.com",
        "time": "Fri Jan 09 07:56:54 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 09 07:57:43 2026 -0800"
      },
      "message": "Mobile Install: Do not make applications debuggable if \"-c opt\" is used.\n\nThis aligns the logic with a normal application build. The idea here is to improve runtime performance of deployed applications. Setting debuggable\u003dtrue in the manifest forces the app to be run in interpreted mode by ART.\n\nPiperOrigin-RevId: 854194444\nChange-Id: Id7bd7207af493f8af1ab9ea6e6f62a8ab8d9b97b\n"
    },
    {
      "commit": "063b244ede25306308b9f18b5e705e6ff6f2a6d9",
      "tree": "0cb99f5323db0fd77c822882dfd19e70e0ae55cd",
      "parents": [
        "028060b1e16607ca83bab1caff05a302cac2ef35"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Thu Jan 08 16:34:24 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 08 16:35:00 2026 -0800"
      },
      "message": "Create and wire up ACL to drop mutltidex related attributes on android_binary.\n\nThese are no longer needed now that we don\u0027t support anything \u003c API 21.\n\nPiperOrigin-RevId: 853929477\nChange-Id: I51eac1c29ac5e43f259c45ef3817b9886553e9b4\n"
    },
    {
      "commit": "028060b1e16607ca83bab1caff05a302cac2ef35",
      "tree": "36b83436aa1139d250456f4a482461313fbbfd15",
      "parents": [
        "95cc13e138ed5fc8c80cbfa29f25df7b34e0e43b"
      ],
      "author": {
        "name": "Yun Peng",
        "email": "pcloudy@google.com",
        "time": "Thu Jan 08 14:37:48 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 08 14:38:26 2026 -0800"
      },
      "message": "Merge #442 by meteorcloudy: Update platform for macOS to apple silicon\n\nCloses #442\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/442 from bazelbuild:meteorcloudy-patch-2 fba24b642d872818effecf59ad3a535ec14e1560\nPiperOrigin-RevId: 853889005\nChange-Id: I8f886f490561e4854ff327575289d9396078cef8\n"
    },
    {
      "commit": "95cc13e138ed5fc8c80cbfa29f25df7b34e0e43b",
      "tree": "ecbda4d113389e87b52a1629ef725c57ee10b83f",
      "parents": [
        "9125023542a63f1f894b6c05d1db45fed2723837"
      ],
      "author": {
        "name": "Alex Humesky",
        "email": "ahumesky@google.com",
        "time": "Tue Jan 06 15:00:12 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 06 15:01:02 2026 -0800"
      },
      "message": "Merge #439 by ahumesky: Update MODULE.bazel for 0.7.0 release\n\nCloses #439\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/439 from ahumesky:main a4b541ed24e4dadad23b6e63279105ace06bd05d\nPiperOrigin-RevId: 852949012\nChange-Id: I4ce275ea4acdfa6c36b0f44209a84977c062e71d\n"
    },
    {
      "commit": "9125023542a63f1f894b6c05d1db45fed2723837",
      "tree": "c4ac3f6954a37b029e6e5ee580f98744f6fdce37",
      "parents": [
        "3cbc4e55d3882c2a0a92b160ee133aa97d16926a"
      ],
      "author": {
        "name": "Andrzej Głuszak",
        "email": "andrzej.gluszak@jetbrains.com",
        "time": "Fri Dec 19 17:34:36 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Dec 19 17:35:20 2025 -0800"
      },
      "message": "Merge #424 by agluszak: Update Bazel dependencies and load rules for bazel 9 compatibility\n\n- bump bazel versions on CI to 7.7.1 and 8.4.2\n- bump linux CI platform to ubuntu2404\n- bump bzlmod deps\n- add missing loads for rules_cc\n- bump protobuf\n- re-enable maven lock file for bzlmod\nCloses #424\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/424 from agluszak:bazel-9 77cdf9cad90e6585761f42c3b03e2ea4c881d85f\nPiperOrigin-RevId: 846923758\nChange-Id: I61e3360b2820fbdd21bdc040704e2e0969265f2f\n"
    },
    {
      "commit": "3cbc4e55d3882c2a0a92b160ee133aa97d16926a",
      "tree": "1f81ad629b3ea0a82e1f664e3d2611709335d4e4",
      "parents": [
        "81bf24b527ae8f5151d5f04bab30c760ca64e4d6"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Fri Dec 19 16:43:01 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Dec 19 16:43:43 2025 -0800"
      },
      "message": "Handle `None` value in generate_art_profile\n\nPiperOrigin-RevId: 846910342\nChange-Id: Ief764d0df171ff2a52a0b00782e413effe460140\n"
    },
    {
      "commit": "81bf24b527ae8f5151d5f04bab30c760ca64e4d6",
      "tree": "0f30d6336e0ced91f1e9cc38bb50f2efe849c02a",
      "parents": [
        "e76e125fa9587e4285eeb8368d255dfe22a026c9"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Thu Dec 18 14:25:02 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Dec 18 14:25:42 2025 -0800"
      },
      "message": "Treat wear sdk as bootclasspath.\n\nThis is a similar hack to the existing auto hack.\n\nPiperOrigin-RevId: 846414279\nChange-Id: Iff169c7b30646ccc492f2f6a2e2dedcda622cd34\n"
    },
    {
      "commit": "e76e125fa9587e4285eeb8368d255dfe22a026c9",
      "tree": "80b9a2517c1e7de41d7cfd2f5dcd090a17e3793f",
      "parents": [
        "ecdff3472d6c97244ca815bf25d4538afed2c0d3"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Thu Dec 18 13:32:09 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Dec 18 13:32:52 2025 -0800"
      },
      "message": "Handle selects in explicit profile output.\n\nThis needs a similar workaround to _generate_proguard_outputs\n\nPiperOrigin-RevId: 846394932\nChange-Id: I34160ec06feab66a19c70f2ce2e35009355806f4\n"
    },
    {
      "commit": "ecdff3472d6c97244ca815bf25d4538afed2c0d3",
      "tree": "450ce2d81bf9642e91dd7b79b0daa706a4434bbd",
      "parents": [
        "ea2cb470774abffbbee914183b115a4262fd0616"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Wed Dec 17 15:29:50 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Dec 17 15:30:47 2025 -0800"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 845943062\nChange-Id: Id6195e9d4dddb0b138ebedf64680ddd5efc004b3\n"
    },
    {
      "commit": "ea2cb470774abffbbee914183b115a4262fd0616",
      "tree": "de7031ce08c531450c79ca9e8731133f304ff572",
      "parents": [
        "b502428fde8f7c29ca3a084fc53cae23f999c049"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Tue Dec 16 00:53:06 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 16 00:53:41 2025 -0800"
      },
      "message": "Avoid emitting D8 synthetic LambdaMethod with global synthetics\n\nPiperOrigin-RevId: 845132092\nChange-Id: I7553156a383498ea698fe8fda548f488b37f0b49\n"
    },
    {
      "commit": "b502428fde8f7c29ca3a084fc53cae23f999c049",
      "tree": "18aa5628991de9a384d764e046c811b5a01526c3",
      "parents": [
        "9365ddf96ea5b692f452f0a9a349bb94049908aa"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Thu Dec 11 15:18:48 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Dec 11 15:19:31 2025 -0800"
      },
      "message": "Add obfuscated-hrp primary.prof as a buildable file.\n\nPiperOrigin-RevId: 843395626\nChange-Id: I07a789d8e77da500c2783eeecd27b46dbe8ddb96\n"
    },
    {
      "commit": "9365ddf96ea5b692f452f0a9a349bb94049908aa",
      "tree": "1703a519d99f89bc29a9cb4146e1f0d1e98492fc",
      "parents": [
        "eb3ba2aceb92ab4046ca94353e6b2165850d0284"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Tue Dec 09 01:10:05 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 09 01:10:57 2025 -0800"
      },
      "message": "Include version files when creating `java.base` modules with jlink\n\nPiperOrigin-RevId: 842115482\nChange-Id: I372162164b4e074f018afafa69d7259e44c71664\n"
    },
    {
      "commit": "eb3ba2aceb92ab4046ca94353e6b2165850d0284",
      "tree": "d55eca1ddc6ab024f28d11e6111ceb290b6631fa",
      "parents": [
        "db71ce36babffbd24fde63fc82c80c8980221dfa"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Wed Dec 03 00:37:09 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Dec 03 00:37:45 2025 -0800"
      },
      "message": "Update R8 to 9.1.5-dev\n\nThis version of D8/R8 uses shorter minimal names, using a naming convention similar to the one javac uses for anonymous inner classes ($0, $1, ...). Existing D8/R8 builds are updated to use the previous naming scheme, with `$$ExternalSynthetic` markers.\n\nCommits merged (since 9.1.2-dev):\n08852644ce Version 9.1.5-dev\n18318cc30f Merge commit \u0027048a805162f6d0a4d405187b455b1a7a3c25080b\u0027 into dev-release\n048a805162 Support for verbose synthetic names in GlobalSyntheticsGenerator CLI\n9605a571ce Suppress errorprone warning in same file policy\n22b15c7684 Format InternalOptions\n15f247933b Relax same file policy for synthetic classes\nbe94ff4e23 Version 9.1.4-dev\n035b95051f Merge commit \u00270418ebca1a206d3202ac6f7327846de002b67191\u0027 into dev-release\n0418ebca1a Support for enabling verbose synthetic names in D8 CLI\n81ccdd3d7f Add -Pdisable_download_deps property for skipping downloadDeps task\n1d307634c0 Introduce \"enable_r8_turbo_builds\" gradle property\n9fea8bb37b Version 9.1.3-dev\n8fee7be0b1 Merge commit \u00276f6301de90ff4cd5a1a08d550bcf350a9bf0ec42\u0027 into dev-release\n6f6301de90 Account for api outlines in examples tests\nc7b6ec68b0 Use jstack from third_party dependencies\n6fc71e3937 Add support for releasing main to 9.0 stable branch\n67ae3cf5ae Hold reference to Unsafe in a static field in VarHandle desugaring\n777b810d99 Add a test that final flag of record fields is not unset\n38b686c0e7 Fix missing argument\nc51ad7f192 API for enabling verbose synthetic names\n8e0fc7296f Enable minimal synthetic names\nb5aea02388 Remove @Deprecated method from SyntheticItemsTestUtils\nf768907903 Refactor D8 examples tests to be independent of synthetic naming\n885ffeecb9 Refactor desugaring and examples tests to not rely on synthetic naming\n32dd65c956 Add missing @Override annotations\n\nSee https://r8.googlesource.com/r8/+log/08852644ce79fc699a3e0694ef3125509affc455\n\nPiperOrigin-RevId: 839627647\nChange-Id: I0491f6d72a1084fc513daac49c3924f84e24a0db\n"
    },
    {
      "commit": "db71ce36babffbd24fde63fc82c80c8980221dfa",
      "tree": "cc4f25b815fe75b1e1efb820b4a25f51783e9ee8",
      "parents": [
        "7726becfdb08862141abcb75dd023214f3383f6b"
      ],
      "author": {
        "name": "Sheroz Nazhmudinov",
        "email": "sherozn@spotify.com",
        "time": "Tue Dec 02 18:46:29 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 02 18:47:13 2025 -0800"
      },
      "message": "Merge #427 by snazhmudinov: Expose android.car.jar\n\nPorts [this](https://github.com/bazelbuild/bazel/pull/20712) change to rules_android.\nCloses https://github.com/bazelbuild/rules_android/issues/299\nCloses #427\n\nCOPYBARA_INTEGRATE_REVIEW\u003dhttps://github.com/bazelbuild/rules_android/pull/427 from snazhmudinov:sherozn/expose-android-car-jar 2941f6f5013ed3600fdf7d199163fbb2c0e74c0e\nPiperOrigin-RevId: 839514947\nChange-Id: I6399ce82379d06e3671d00d3e2bfcf662bf49bce\n"
    },
    {
      "commit": "7726becfdb08862141abcb75dd023214f3383f6b",
      "tree": "abf562f3ef9fdd6dcab084b0439a1dfd7b1732e4",
      "parents": [
        "a11ce9d817a9a66e4ff2074bbe5c2fa264733547"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Thu Nov 20 16:57:51 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 20 16:58:33 2025 -0800"
      },
      "message": "For optimized builds, use baseline profiles as startup profiles if no\nstartup profiles are explicitly provided. Guarded by ACL.\n\nPiperOrigin-RevId: 834965863\nChange-Id: I4fa7447e31e32cda5adc10b4dc47d415e521e0b3\n"
    },
    {
      "commit": "a11ce9d817a9a66e4ff2074bbe5c2fa264733547",
      "tree": "ab886d36ccd24f7e3aa086168ba8fd3b74daeb63",
      "parents": [
        "0cafc5ad06bb15b160cc788225ead2f558bb95b8"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Thu Nov 13 14:13:17 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 13 14:14:10 2025 -0800"
      },
      "message": "Internal change.\n\nPiperOrigin-RevId: 832005237\nChange-Id: I9c7c56a25bffdd085f9ed69c9906f08f35f5f041\n"
    },
    {
      "commit": "0cafc5ad06bb15b160cc788225ead2f558bb95b8",
      "tree": "0e81aa37398c62bdac76ee06a2c1edd90dd59b86",
      "parents": [
        "a9d529f92a0f24b4b46e6349222a00abc97aee4f"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Thu Nov 13 09:26:34 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 13 09:27:14 2025 -0800"
      },
      "message": "Automated Code Change\n\nPiperOrigin-RevId: 831891685\nChange-Id: Ib6ead6d780d964c364824a1cdc8013abd9abd63f\n"
    },
    {
      "commit": "a9d529f92a0f24b4b46e6349222a00abc97aee4f",
      "tree": "3589db369830606c82762a1eb0b31ae28e35c099",
      "parents": [
        "fa47c0d3923edea7ccd40cbcab490cd21e6992c9"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Wed Nov 12 15:31:35 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 12 15:32:13 2025 -0800"
      },
      "message": "This CL attempts to fix the runtime error that happens when:\n\n- You have an AAB is built with android_applicaiton\n- Sideload the AAB using bundletool\n- Invoke jetpack baseline profile installer through ADB\n  adb shell am broadcast -a androidx.profileinstaller.action.INSTALL_PROFILE \\\n      com.google.android.GoogleCamera/androidx.profileinstaller.ProfileInstallReceiver\n\nThe installer fails with the erro like:\n\n  10-30 22:45:18.716   447   447 D ProfileInstaller: DIAGNOSTIC_PROFILE_IS_COMPRESSED\n\nThis is because the baseline profilie in the AAB is not placed in the\nlocation which bundletool expects\nNote that Gradle supports this location:\n\nPiperOrigin-RevId: 831564698\nChange-Id: I53d49f4e67851fc41fc57451f9d19962df4cb109\n"
    },
    {
      "commit": "fa47c0d3923edea7ccd40cbcab490cd21e6992c9",
      "tree": "230e78a9d919a597787f1714287537a7215c5981",
      "parents": [
        "4ae41c4be7a6f78de07734c0d63819c2961ff886"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Fri Oct 31 11:59:43 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 31 12:00:22 2025 -0700"
      },
      "message": "Use 16 KB options for zipalign.\n\nWhen using Android build tools version 35.0.0-rc3 or newer, use `-P 16`\nwith `zipalign` instead of `-p 4`. This change is applied in both\n`mobile_install` and `apk_packaging` rules.\n\nhttps://github.com/bazelbuild/rules_android/issues/417\n\nPiperOrigin-RevId: 826576032\nChange-Id: Ifa58aed4d4390d26490685ea43da36716cec6d0e\n"
    },
    {
      "commit": "4ae41c4be7a6f78de07734c0d63819c2961ff886",
      "tree": "b000e6922b38de5d95a8381989b64242800bcfd8",
      "parents": [
        "14081cedff37fed8511956f4a4e593f131aa7ff5"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Fri Oct 31 11:46:19 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 31 11:47:02 2025 -0700"
      },
      "message": "Use bundletool 1.18.2.\n\nUpdate to latest version of bundletool as declared here:\nhttps://github.com/google/bundletool/releases\n\nVersion 1.17.0 specifically includes 16 KB support.\n\nPiperOrigin-RevId: 826571531\nChange-Id: I6e4b5cd0e79ae145b33718aff88ca1148d8dd21d\n"
    },
    {
      "commit": "14081cedff37fed8511956f4a4e593f131aa7ff5",
      "tree": "bb4392e79c5564eb5a765a57266f001e83de2771",
      "parents": [
        "4157bc6d6fe14faa8d373a03f7cdd8005596f7a6"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Thu Oct 30 17:59:33 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 30 18:00:19 2025 -0700"
      },
      "message": "Update build tools to 35.\n\nThis also happens to be the SDK that has page size compatability for zipalign,\nso this simplifies other changes. However, since the SDK requirement for\nKokoro has already been updated, this is all that Bazel needs to support.\n\nPiperOrigin-RevId: 826258328\nChange-Id: I33b21af86a37fb96a2f8b433948bddcdfcc59032\n"
    },
    {
      "commit": "4157bc6d6fe14faa8d373a03f7cdd8005596f7a6",
      "tree": "566998633a0ab878902a3470153bc8d0cafa4a58",
      "parents": [
        "95646346b5db1d40fdeac79934e7ee3a75eb9095"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Thu Oct 16 14:15:54 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 16 14:16:35 2025 -0700"
      },
      "message": "Pipe --feature-flags through to some aapt2 actions.\n\nWe may need to wire this through elsewhere in the future.\n\nPiperOrigin-RevId: 820391042\nChange-Id: I5224553f5172e6d6e3bb4214e477ba1f4533b773\n"
    },
    {
      "commit": "95646346b5db1d40fdeac79934e7ee3a75eb9095",
      "tree": "658b916672bdcf0b3a1d23bc6511cef883b8320d",
      "parents": [
        "99fba3a25e2d3d836a131838ec3c79a7e5ed5835"
      ],
      "author": {
        "name": "Tim Peut",
        "email": "timpeut@google.com",
        "time": "Thu Oct 16 12:33:03 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 16 12:33:43 2025 -0700"
      },
      "message": "Update build tools version.\n\nPiperOrigin-RevId: 820351326\nChange-Id: I53ce507494354953682765c593b09bd7e95c9003\n"
    },
    {
      "commit": "99fba3a25e2d3d836a131838ec3c79a7e5ed5835",
      "tree": "bc89a3c7b7b1365e84cfee8625589a47faa601a3",
      "parents": [
        "eb998564190df979b975e8b9c6a441554276a17a"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Tue Oct 14 16:45:56 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 14 16:46:44 2025 -0700"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 819457208\nChange-Id: Iec3cc2806110cf3a4167e6fece5943eff79571a6\n"
    },
    {
      "commit": "eb998564190df979b975e8b9c6a441554276a17a",
      "tree": "03384a8a7996fa448641e15fceed3f06d899b7a4",
      "parents": [
        "5868b2023771228e24cddc490d6fa32ed82f62d7"
      ],
      "author": {
        "name": "A Googler",
        "email": "no-reply@google.com",
        "time": "Tue Oct 14 13:50:00 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 14 13:50:42 2025 -0700"
      },
      "message": "Prevent OOM caused by loading large files into memory.\n\nPreviously when building Android APK zip archives, the source files are read entirely into memory as byte arrays. So it cannot support files larger than 2 GB and will crash with OOM when allocating the arrays.\n\nThe change adds the support for an arbitrary InputStream of unknown size which will work for large files.\n\nTo minimize the impact to the build speed, when a file is small enough, the whole file is still read into memory to avoid repeated disk I/O. Large files are read in a streaming fashion to limit their memory consumption at the cost of more disk I/O.\n\nCurrently the boundary between small and large size is set to 512 MB empirically. The Java byte arrays can support up to 2 GB, but loading such large files into memory can also cause a high memory pressure for the JVM, so I didn\u0027t set it to 2 GB.\n\nPiperOrigin-RevId: 819382752\nChange-Id: Id0b96172e1674b4a3556a61538c957fa599c5c79\n"
    }
  ],
  "next": "5868b2023771228e24cddc490d6fa32ed82f62d7"
}
