Commit graph

216 commits

Author SHA1 Message Date
John Ericson 452854a13c androidndk: Avoid depending on target-sensative openjdk
We just need jdk for this script that helps set up toolchains. The
script might need to know about the target platform, but the interpreter
that runs it (or part of it) doesn't.
2020-09-08 09:49:39 -04:00
John Ericson 4c489b5f5d deployAndroidPackage: Use pname and version 2020-09-08 09:31:18 -04:00
Matthew Bauer d0e52b6b32
Merge pull request #95309 from obsidiansystems/mobile-fixes
Support Android 29 in cross-compilation
2020-08-28 14:59:37 -05:00
eyjhb f13d952121
androidenv: fix convert files not quoting urls 2020-08-19 16:40:28 +02:00
Matthew Bauer 4cbca0893a androidenv: remove duplicate addons.nix entries 2020-08-17 23:51:59 -05:00
Matthew Bauer 074bc78cc8 android: update sdk, ndk to 29, 21 2020-08-17 23:51:53 -05:00
Luca Favatella 7802608649 androidenv/emulate-app: use runtimeShell instead of stdenv.shell
See also https://github.com/NixOS/nixpkgs PR 56408.
2020-08-16 10:27:37 +00:00
eyjhb 2d999d7e6e
androidenv.build-tools: add libc++ to enable buildToolsVersion 29.0.3 2020-08-01 16:53:51 +02:00
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