Commit graph

208 commits

Author SHA1 Message Date
vponte 7d69a04d79 androidenv: add missing emulator dynamic libraries 2020-05-30 15:43:32 +02:00
Michael Reilly 84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Luca Favatella f01278dea2 androidenv: manually (!) delete more complex version of google images
This commit was built as a revert commit followed by deletion:
* Revert "androidenv: manually (!) delete oldest revision of google
  images".
* Delete other revision.

Using `systemImageType = "google_apis_playstore"` (and `abiVersion =
"x86"` and `platformVersion = "28"` - that I expect resolved to
`97d9d4f4a2afa8b0f5d52e90748e19c10406ca93`), the symptom is:
```
Warning: Observed package id 'system-images;android-28;google_ndk_playstore;x86' in inconsistent location '/nix/store/...-androidsdk/libexec/android-sdk/system-images/android-28/google_apis_playstore/x86' (Expected '/nix/store/...-androidsdk/libexec/android-sdk/system-images/android-28/google_ndk_playstore/x86')
...
Error: Package path is not valid. Valid system image paths are:
system-images;android-28;google_ndk_playstore;x86
```
How is the actual image name `google_ndk_playstore` when the fetched
image has id `google_apis_playstore`?

Attempt keeping - of the two images - the one that looks simpler.

For the `"28".google_apis."x86"` images, in the XML the differences
are: more complex license (what is `arm-dbt`?); higher emulator.
Namely:
```
		<uses-license ref="android-sdk-license"/>
		<dependencies>
			<dependency path="patcher;v4"/>
			<dependency path="emulator">
				<min-revision>
					<major>27</major>
					<minor>1</minor>
					<micro>7</micro>
...
		<uses-license ref="android-sdk-arm-dbt-license"/>
		<dependencies>
			<dependency path="patcher;v4"/>
			<dependency path="emulator">
				<min-revision>
					<major>29</major>
					<minor>1</minor>
					<micro>12</micro>
```

Analogously for `"28".google_apis_playstore."x86"`.
2020-03-09 18:34:16 +00:00
Luca Favatella c50618898f androidenv/emulate-app: fix image id for recent device manager
Symptom:
```
Available Android targets:
----------
id: 1 or "android-28"
     Name: Android 9
     Type: Platform
     API level: 28
     Revision: 6
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
 Tag/ABIs : google_ndk_playstore/x86
...
Error: Invalid --tag google_apis_playstore for the selected target.
```

For creation of AVD, switch from `android` to `avdmanager` as the
latter seems enabling selecting the image with less friction (and is
better documented as not deprecated).  This requires using recent
tools - from https://developer.android.com/studio/releases/sdk-tools :
> SDK Tools, Revision 25.3.0 (March 2017)
> ...
> `android avd` command-line functionality replaced with new
> `avdmanager` tool.

For listing of targets, switch from `android` to `avdmanager` as the
`android` command invocation fails in recent tools.  Symptom (not
missing `s` as backward incompatibility):
```
Invalid or unsupported command "list targets"

Supported commands are:
android list target
android list avd
android list device
android create avd
android move avd
android delete avd
android list sdk
android update sdk
```

References:
- https://developer.android.com/studio/tools/help/android
- https://developer.android.com/studio/command-line/avdmanager
2020-03-09 15:38:49 +00:00
Freeman Latif 954b406ac2 androidenv: add missing linux dependencies
This is extracted from https://github.com/NixOS/nixpkgs PR 78623.

The symptom I observed was:
```
builder for '/nix/store/7zz585ch9jqjvz8k88rf7fs046inxszq-emulator-30.0.3.drv' failed with exit code 1; last 10 log lines:
    libXext.so.6 -> found: /nix/store/qkmj8pa3ka9v335bbgx74ah4080fwdbf-libXext-1.3.4/lib/libXext.so.6
    libXfixes.so.3 -> found: /nix/store/nhp59xxq4g51mgpwgjsp8pvkn7531b86-libXfixes-5.0.3/lib/libXfixes.so.3
    libXi.so.6 -> not found!
    libXrender.so.1 -> not found!
    libXtst.so.6 -> not found!
    libasound.so.2 -> not found!
    libz.so.1 -> found: /nix/store/pb2am7dfsv524pb2z7m8mp8nkcmgd3cl-zlib-1.2.11/lib/libz.so.1
    libdbus-1.so.3 -> found: /nix/store/ddqrvb1b0xdb8g18f4advmq4wk0aiknd-dbus-1.12.16-lib/lib/libdbus-1.so.3
    libGL.so.1 -> found: /nix/store/bbpgyifsh2hv0ivhl3g4ik2nw7d10zdx-emulator-30.0.3/libexec/android-sdk/emulator/lib64/gles_mesa/libGL.so.1
    libc++.so.1 -> found: /nix/store/bbpgyifsh2hv0ivhl3g4ik2nw7d10zdx-emulator-30.0.3/libexec/android-sdk/emulator/lib64/libc++.so.1
```
2020-03-09 04:49:47 +00:00
Luca Favatella 91411f0f21 androidenv: manually (!) delete default images with same name
... complex as apparently dependent on OS of host of emulator.

This shall rather be solved by enhancement of the scripts.
2020-03-09 04:47:40 +00:00
Luca Favatella 72e3836bfb androidenv: manually (!) delete oldest revision of google images
... as same name hence clashing.

This shall rather be solved by enhancement of the scripts.
2020-03-09 04:47:40 +00:00
Luca Favatella 3286057969 androidenv: fix default platform-tools to a known one 2020-03-09 04:47:40 +00:00
Luca Favatella 6da0e0b7d7 androidenv: bump emulator version to latest stable - as per Linux
Move to a known version of the emulator.  Each OS has a distinct
version... pick the one on Linux.  A better solution would be to let
the user of `emulateApp` overload what the emulator version shall be
(and maybe it is already possible and I do not see it) - without need
to reproduce large portions of `default.nix`.

Using the previous emulator showed the following warning:
```
Your emulator is out of date, please update by launching Android Studio:
```

I am not aware of any reasons for not wanting the latest emulator (as
I expect it shall be compatible usually with more system images - not
less), so bump its default version.

Emulator release notes:
https://developer.android.com/studio/releases/emulator
2020-03-09 04:47:40 +00:00
Luca Favatella e003ca046c androidenv: update the generated expressions
... running `generate.sh`.
2020-03-09 04:47:39 +00:00
Luca Favatella de119ca8ea androidenv: fix packages xsl used in generate.sh
Entry `<remotePackage path="cmdline-tools;latest">` resulted in a
duplicated `"cmdline-tools"."1.0"`.
2020-03-09 04:45:36 +00:00
Tad Fisher d574ea45a2 androidenv: fix system images xsl used in generate.sh
Updated with fixes for `convertsystemimages.xsl`:
- Use `type-details/codename` if it exists, falling back to
  `type-details/api-level`: this results in "Q" rather than "28" for
  preview images
- Use `<xsl:text>` elements to control whitespace in the output.

This is extracted from https://github.com/NixOS/nixpkgs PR 58131.
2020-03-09 03:43:19 +00:00
Tad Fisher 6f80983963 androidenv: update generate.sh to use nix-shell and fail on error
Update generate.sh to run using nix-shell. Also make it fail with
meaningful output instead of writing empty output files.

This is extracted from https://github.com/NixOS/nixpkgs PR 58131.

This relies on the shebang being used.
2020-03-09 03:43:19 +00:00
Sander van der Burg 3deb1caa82 androidenv: add platform SDK 29 2020-03-01 20:23:39 +01:00
Lenz Weber 5ef31532b1 androidenv build-tools: fix old versions under linux 2020-02-14 11:41:57 +01:00
Hernawan Faïz Abdillah 82a2a9eabf
androidenv.lldb: Fix libssl not found 2020-01-07 14:02:13 +07:00
Robin Gloster 760e23136a
treewide: *inputs are lists 2019-12-31 01:09:25 +01:00
Kirill Elagin 2e79c2d969 android: Install platform-tools binaries on all OSes 2019-11-19 22:29:21 +01:00
Jamey Sharp 5d1c9cebd6 deployAndroidPackage: prefer local builds
These derivations just unzip something and maybe do a little patching,
so there's no benefit to sending the zip file off to a build server and
then downloading the unzipped results again.
2019-11-16 14:37:47 +01:00
volth 7b8fb5c06c treewide: remove redundant quotes 2019-09-08 23:38:31 +00:00
Frederik Rietdijk 5061fe0c2c Merge staging-next into staging 2019-08-28 08:26:42 +02:00
volth 35d68ef143 treewide: remove redundant quotes 2019-08-26 21:40:19 +00:00
Erik Arvstedt 1b81302d49
androidenv: rename stdenv.lib -> lib
Removes some visual clutter.
2019-08-17 11:19:06 +02:00
Erik Arvstedt 2ec43d3509
androidenv/emulate-app: rename androidsdkComposition -> sdk
This greatly improves readability by shortening some of the overlong lines.
2019-08-17 11:19:05 +02:00
Erik Arvstedt 0dab612395
androidenv/emulate-app: fix passing extra args to the sdk composition
This feature was originally intended but left unfinished, as indicated
by the unused variables 'args' and 'androidSdkArgNames'.
2019-08-17 11:19:02 +02:00
Erik Arvstedt e48d97f640
androidenv: fix deployment of google_apis* system images
Fixes #56866
2019-08-17 11:18:59 +02:00
volth f3282c8d1e treewide: remove unused variables (#63177)
* treewide: remove unused variables

* making ofborg happy
2019-06-16 19:59:05 +00:00
Matthew Bauer dc42372809
Merge pull request #61168 from matthewbauer/release-cross-fixes
release-cross.nix changes/fixes
2019-06-03 20:13:43 -04:00
edef c89b2de425 androidenv: fix the $out/bin symlink for ndk-bundle 2019-05-24 02:32:14 +00:00
Matthew Bauer 4acc434847 androidenv: add more context to os not found error
We don’t have android sdk available for aarch64, so this error happens
a lot. Adding some context on what is going on makes this clearer.
2019-05-08 21:45:33 -04:00
Jan Malakhovski 32e854c156 androidenv: move defaults to package file 2019-02-03 15:33:21 +00:00
Matthew Bauer 9c770c4efa androidenv: move licenseAccepted condition to androidsdk
The NDK can be built without accepting the license.
2019-01-29 21:13:41 -05:00
Sander van der Burg 287e92ad47 androidenv: Remove unused patch 2019-01-26 23:17:30 +01:00
Sander van der Burg 9130c1d592 androidsdk: fix missing fontconfig library reference when tools version 26.1.x is used 2019-01-26 21:35:18 +01:00
Sander van der Burg 3bfd3e73bf Reintroduce licenseAccepted option 2018-12-18 21:16:07 +01:00
Sander van der Burg 074c7e99e0 Fix standalone generation script 2018-12-18 21:16:07 +01:00
Sander van der Burg cb42643b95 Fix inclusion of sources 2018-12-18 21:16:07 +01:00
Sander van der Burg 74750dc67d Replace androidenv by new implementation 2018-12-18 21:16:06 +01:00
Sander van der Burg 2757ddb182 Separate androidndkpkgs from androidenv 2018-12-18 21:14:43 +01:00
Bastian Köcher cf2d35d889 androidndk: Adds missing patch for 18b 2018-12-16 10:45:42 +01:00
Bastian Köcher bf44d81df9 androidndk: 17c -> 18b 2018-11-20 11:21:42 +01:00
Clemens Fruhwirth b4d9f6ddca androidsdk: Re-add emulator that was broken out of the sdk-tools package. 2018-11-12 13:06:22 -04:00
David McFarland c43abffb9c androidsdk: fix monitor interpreter path 2018-11-10 15:23:11 -04:00
Nick Novitski d861da151f androidenv: version buildTools and add buildToolsVersions sdk argument 2018-10-26 22:09:47 -07:00
Nick Novitski 4a0ae5d7d6 androidenv: add androidsdk_{8_1,9_0}{,_extras} 2018-10-26 20:45:52 -07:00
Nick Novitski a61f31cf23 androidenv: run ./fetch.sh
Manually corrected three problems:
- fetch.sh: android cli cannot find java executable
- addons.nix: google_apis_25 expression not added correctly
- addons.nix: android_support_extra expression deleted (replaced in android 9 with jetpack/androidx)
2018-10-26 20:45:51 -07:00
Nick Novitski 6e07691ed7 androidenv: remove android command from fetch.sh
It's deprecated, and no longer prints the urls of any xml files for the script
to parse.
2018-10-26 20:45:51 -07:00
Nick Novitski ec8f320797 androidenv.androidndk: patch prebuilt 64bit binaries 2018-10-26 20:45:51 -07:00
Nick Novitski f5c2960a11 androidenv.buildTools: patch hard-coded /bin/ls paths 2018-10-26 20:45:40 -07:00
Nick Novitski ad501e4c2f androidenv.buildtools: 28.0.2 -> 28.0.3 2018-10-25 11:56:47 -07:00