<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nixos/nixpkgs.git/pkgs/development/mobile/androidenv/examples/shell.nix, 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>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: 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>
<entry>
<title>androidenv: support minPlatformVersion and maxPlatformVersion</title>
<updated>2025-03-29T16:43:03+00:00</updated>
<author>
<name>Morgan Jones</name>
<email>me@numin.it</email>
</author>
<published>2025-03-14T08:19:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=b757ce39d6b1dfede9a78909c541dd7ee795053f'/>
<id>b757ce39d6b1dfede9a78909c541dd7ee795053f</id>
<content type='text'>
With the release of Android API 36, it was getting rather annoying to
need to keep these updated. Allow just specifying the min and max
instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the release of Android API 36, it was getting rather annoying to
need to keep these updated. Allow just specifying the min and max
instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>androidenv: accept license during tests</title>
<updated>2025-03-29T16:43:03+00:00</updated>
<author>
<name>Morgan Jones</name>
<email>me@numin.it</email>
</author>
<published>2025-03-14T07:53:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/nixos/nixpkgs.git/commit/?id=807356fa6960fa76767ee7b696530cf5c671bd62'/>
<id>807356fa6960fa76767ee7b696530cf5c671bd62</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
