<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nixos/nixpkgs.git/pkgs/development/mobile/androidenv/examples, branch master</title>
<subtitle>Nix Packages collection</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/'/>
<entry>
<title>androidenv: ANDROID_SDK_ROOT -&gt; ANDROID_HOME</title>
<updated>2026-04-20T00:32:01+00:00</updated>
<author>
<name>Morgan Jones</name>
<email>me@numin.it</email>
</author>
<published>2026-04-20T00:30:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=9c2f0302bff708bac4f97218eb6714ea2d97354e'/>
<id>9c2f0302bff708bac4f97218eb6714ea2d97354e</id>
<content type='text'>
Change the 'primary' env var to ANDROID_HOME.
Always export ANDROID_SDK_ROOT for compatibility.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the 'primary' env var to ANDROID_HOME.
Always export ANDROID_SDK_ROOT for compatibility.
</pre>
</div>
</content>
</entry>
<entry>
<title>androidenv: fix new "37.0" packages with API version ranges</title>
<updated>2026-04-06T01:37:23+00:00</updated>
<author>
<name>Morgan Jones</name>
<email>me@numin.it</email>
</author>
<published>2026-04-06T00:39:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=a1241180d710c986e6de8c6838b830d3c632718d'/>
<id>a1241180d710c986e6de8c6838b830d3c632718d</id>
<content type='text'>
Google has seemed to require this suffix on their newer packages,
and also doesn't provide sources anymore. Fix both issues.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Google has seemed to require this suffix on their newer packages,
and also doesn't provide sources anymore. Fix both issues.
</pre>
</div>
</content>
</entry>
<entry>
<title>androidenv: support nonstandard SDK versions</title>
<updated>2025-12-23T07:45:00+00:00</updated>
<author>
<name>Morgan Jones</name>
<email>me@numin.it</email>
</author>
<published>2025-12-23T07:45:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=03d6e4bc46adfed68aab9969e6e61257d3177d2f'/>
<id>03d6e4bc46adfed68aab9969e6e61257d3177d2f</id>
<content type='text'>
Google have been releasing 'nonstandard' SDK versions for a while. Named
things like CANARY, UpsideDownCake, 36x, and so on, androidenv has been
generally unable to use them, instead preferring Google's officially
supported Android SDKs corresponding to the
[API levels](https://apilevels.com/) (e.g. "35" or "36").

Updates to those SDK versions have generally come in the form of
updates to Google's repositories that repo.json picks up.
These are mostly noneventful for end users, unless a user experienced a
bug in an API definition, then it tended to be picked up with an
androidenv repo update.

API 36.1 changes this. It's not just a number (so it doesn't correspond
to a unique API level). The previous attempt in #470569 simply preferred
the newer version to attempt to emulate the old behavior.

Unfortunately, this now requires a Gradle change (see #472561). So this
means we should just support all the strange SDK versions now and have a
test for it.

Note that only depending on "latest" (the default) will properly pick
these up as the latest, but using a min and max SDK version or
numLatestPlatformVersions &gt; 1 will create a range of SDK versions as
before, which means you may miss (e.g.) 36.1 but will still have 36.
Considering that this requires `compileSdk "android-36.1"`
instead of a simple `compileSdk 36` in Gradle, it's recommended to
explicitly specify platformVersions if you depend on this change,
or use the defaults, where it will only install the latest.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Google have been releasing 'nonstandard' SDK versions for a while. Named
things like CANARY, UpsideDownCake, 36x, and so on, androidenv has been
generally unable to use them, instead preferring Google's officially
supported Android SDKs corresponding to the
[API levels](https://apilevels.com/) (e.g. "35" or "36").

Updates to those SDK versions have generally come in the form of
updates to Google's repositories that repo.json picks up.
These are mostly noneventful for end users, unless a user experienced a
bug in an API definition, then it tended to be picked up with an
androidenv repo update.

API 36.1 changes this. It's not just a number (so it doesn't correspond
to a unique API level). The previous attempt in #470569 simply preferred
the newer version to attempt to emulate the old behavior.

Unfortunately, this now requires a Gradle change (see #472561). So this
means we should just support all the strange SDK versions now and have a
test for it.

Note that only depending on "latest" (the default) will properly pick
these up as the latest, but using a min and max SDK version or
numLatestPlatformVersions &gt; 1 will create a range of SDK versions as
before, which means you may miss (e.g.) 36.1 but will still have 36.
Considering that this requires `compileSdk "android-36.1"`
instead of a simple `compileSdk 36` in Gradle, it's recommended to
explicitly specify platformVersions if you depend on this change,
or use the defaults, where it will only install the latest.
</pre>
</div>
</content>
</entry>
<entry>
<title>androidenv: fix 'latest' where SDK level is not an int</title>
<updated>2025-12-14T00:23:47+00:00</updated>
<author>
<name>Morgan Jones</name>
<email>me@numin.it</email>
</author>
<published>2025-12-14T00:20:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=dcac273d94f52dae213b991ebf2e93f4dad60ad7'/>
<id>dcac273d94f52dae213b991ebf2e93f4dad60ad7</id>
<content type='text'>
Map 'latest' to the latest minor version of each SDK level, since Google
now has minor versions of SDK levels. The SDK levels are still integers,
so also map "36" to (e.g.) "36.1" by default, since the user likely
wants the latest revision of "36" we have.

Fix: #468525
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Map 'latest' to the latest minor version of each SDK level, since Google
now has minor versions of SDK levels. The SDK levels are still integers,
so also map "36" to (e.g.) "36.1" by default, since the user likely
wants the latest revision of "36" we have.

Fix: #468525
</pre>
</div>
</content>
</entry>
<entry>
<title>pkgs: remove optional builtins prefixes from prelude functions</title>
<updated>2025-10-04T17:02:37+00:00</updated>
<author>
<name>NAHO</name>
<email>90870942+trueNAHO@users.noreply.github.com</email>
</author>
<published>2025-09-30T06:49:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=c8d4dabc4357a22d1c249a9363998bdb00122544'/>
<id>c8d4dabc4357a22d1c249a9363998bdb00122544</id>
<content type='text'>
Remove optional builtins prefixes from prelude functions by running:

    builtins=(
      abort
      baseNameOf
      break
      derivation
      derivationStrict
      dirOf
      false
      fetchGit
      fetchMercurial
      fetchTarball
      fetchTree
      fromTOML
      import
      isNull
      map
      null
      placeholder
      removeAttrs
      scopedImport
      throw
      toString
      true
    )

    fd \
      --type file \
      . \
      pkgs \
      --exec-batch sed --in-place --regexp-extended "
        s/\&lt;builtins\.($(
          printf '%s\n' "${builtins[@]}" |
            paste --delimiter '|' --serial -
        ))\&gt;/\1/g
      "

    nix fmt
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove optional builtins prefixes from prelude functions by running:

    builtins=(
      abort
      baseNameOf
      break
      derivation
      derivationStrict
      dirOf
      false
      fetchGit
      fetchMercurial
      fetchTarball
      fetchTree
      fromTOML
      import
      isNull
      map
      null
      placeholder
      removeAttrs
      scopedImport
      throw
      toString
      true
    )

    fd \
      --type file \
      . \
      pkgs \
      --exec-batch sed --in-place --regexp-extended "
        s/\&lt;builtins\.($(
          printf '%s\n' "${builtins[@]}" |
            paste --delimiter '|' --serial -
        ))\&gt;/\1/g
      "

    nix fmt
</pre>
</div>
</content>
</entry>
<entry>
<title>treewide: run nixfmt 1.0.0</title>
<updated>2025-07-24T11:55:40+00:00</updated>
<author>
<name>Wolfgang Walther</name>
<email>walther@technowledgy.de</email>
</author>
<published>2025-07-22T13:19:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=5a0711127cd8b916c3d3128f473388c8c79df0da'/>
<id>5a0711127cd8b916c3d3128f473388c8c79df0da</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>androidenv: fix autoupdate and custom XMLs</title>
<updated>2025-05-29T08:00:19+00:00</updated>
<author>
<name>Morgan Jones</name>
<email>me@numin.it</email>
</author>
<published>2025-05-29T06:58:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=8bd119929d9add75c4c586f757c03c3fa6cbcd35'/>
<id>8bd119929d9add75c4c586f757c03c3fa6cbcd35</id>
<content type='text'>
This regression happened during refactoring of mkrepo.rb. Do another
round of it with a focus on fixing the autoupdate and use of custom
repository XMLs.

Add an example to check this behavior (but don't run it in the test
suite, since it requires IFD).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This regression happened during refactoring of mkrepo.rb. Do another
round of it with a focus on fixing the autoupdate and use of custom
repository XMLs.

Add an example to check this behavior (but don't run it in the test
suite, since it requires IFD).
</pre>
</div>
</content>
</entry>
<entry>
<title>androidenv: support linking "latest" version of all plugins</title>
<updated>2025-04-28T00:55:02+00:00</updated>
<author>
<name>Morgan Jones</name>
<email>me@numin.it</email>
</author>
<published>2025-04-27T22:27:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=f97ca76b1043ecc972187a4fcadab5dff18e9547'/>
<id>f97ca76b1043ecc972187a4fcadab5dff18e9547</id>
<content type='text'>
As noted in #379534, the NDK linking broke during refactoring. Add a test
for that, and support linking the latest for all platform plugins that
take at least one version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As noted in #379534, the NDK linking broke during refactoring. Add a test
for that, and support linking the latest for all platform plugins that
take at least one version.
</pre>
</div>
</content>
</entry>
<entry>
<title>androidenv: fix missing versions for Google addons</title>
<updated>2025-04-13T17:52:03+00:00</updated>
<author>
<name>Morgan Jones</name>
<email>me@numin.it</email>
</author>
<published>2025-04-13T05:50:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=6281e512137ea25e5296139e3d30f3043d16ca33'/>
<id>6281e512137ea25e5296139e3d30f3043d16ca33</id>
<content type='text'>
This is a regression caused by fixing the linking of Google TV addons.
Change the check so we just check for the package being present instead
of checking the specific version.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a regression caused by fixing the linking of Google TV addons.
Change the check so we just check for the package being present instead
of checking the specific version.
</pre>
</div>
</content>
</entry>
<entry>
<title>androidenv: support 5 years of Android APIs with images; test 10 without</title>
<updated>2025-03-29T16:43:03+00:00</updated>
<author>
<name>Morgan Jones</name>
<email>me@numin.it</email>
</author>
<published>2025-03-29T08:19:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=81ac8a76665fb63a03d78d185a896d1e94d8412b'/>
<id>81ac8a76665fb63a03d78d185a896d1e94d8412b</id>
<content type='text'>
Cut down on the number of system images that need to be fetched by just
supporting packages from the last 5 years. Still test the last 10 years
of APIs without images.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cut down on the number of system images that need to be fetched by just
supporting packages from the last 5 years. Still test the last 10 years
of APIs without images.
</pre>
</div>
</content>
</entry>
</feed>
