Android: Difference between revisions
buildFHSUserEnv → buildFHSEnv |
m Add category development |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
== Using the Android SDK == | == Using the Android SDK == | ||
NixOS uses the androidenv package for building android SDKs and manually creating emulators without the use of Android Studio. Example android sdk is <code>androidenv. | |||
{{Note|<code><small>androidenv.androidPkgs_9_0</small></code> has been replaced with <code><u><small>androidenv.androidPkgs</small></u></code> in nixos 24.11, see [https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2411.section.md#backward-incompatibilities-sec-release-2411-incompatibilities backward-incompatibilities-sec-release-2411-incompatibilities], so all the <code><small> | NixOS uses the androidenv package for building android SDKs and manually creating emulators without the use of Android Studio. Example android sdk is <code>androidenv.androidPkgs.androidsdk</code>. They also include all of the SDK tools such as sdkmanager and avdmanager needed to create emulators. | ||
{{Note|<code><small>androidenv.androidPkgs_9_0</small></code> has been replaced with <code><u><small>androidenv.androidPkgs</small></u></code> in nixos 24.11, see [https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2411.section.md#backward-incompatibilities-sec-release-2411-incompatibilities backward-incompatibilities-sec-release-2411-incompatibilities], so all the <code><small>androidPkgs</small></code> references below will be androidPkgs_9_0 if you are still using 24.05 or below.}} | |||
The first link provides a guide for creating a custom android SDK, using a predefined SDK, and how to nixify an emulator. The second link is an extra guide that might have some helpful tips for improving your workflow. | The first link provides a guide for creating a custom android SDK, using a predefined SDK, and how to nixify an emulator. The second link is an extra guide that might have some helpful tips for improving your workflow. | ||
# [https://nixos.org/manual/nixpkgs/unstable/#android Official Android SDK guide from NixOS.org] | # [https://nixos.org/manual/nixpkgs/unstable/#android Official Android SDK guide from NixOS.org] | ||
Line 93: | Line 96: | ||
<syntaxhighlight lang=console> | <syntaxhighlight lang=console> | ||
$ # For nixos < 19.03 | |||
$ # nix-shell -p androidenv.platformTools | |||
$ # for nixos <= 24.05 | |||
$ nix-shell -p androidenv.androidPkgs_9_0.platform-tools | |||
$ # For nixos >= 24.11 | |||
$ nix-shell -p androidenv.androidPkgs.platform-tools | $ nix-shell -p androidenv.androidPkgs.platform-tools | ||
% adb devices | % adb devices | ||
Line 115: | Line 123: | ||
<syntaxhighlight lang=console> | <syntaxhighlight lang=console> | ||
$ nix-shell -p androidenv.androidPkgs.platform-tools | |||
$ nix-shell -p androidenv. | |||
% adb connect 192.168.1.10 | % adb connect 192.168.1.10 | ||
% adb shell | % adb shell | ||
Line 159: | Line 165: | ||
targetPkgs = pkgs: (with pkgs; | targetPkgs = pkgs: (with pkgs; | ||
[ | [ | ||
androidenv. | androidenv.androidPkgs.androidsdk | ||
glibc | glibc | ||
]); | ]); | ||
Line 172: | Line 178: | ||
let | let | ||
androidSdk = pkgs.androidenv. | androidSdk = pkgs.androidenv.androidPkgs.androidsdk; | ||
in | in | ||
pkgs.mkShell { | pkgs.mkShell { | ||
Line 205: | Line 211: | ||
gnumake | gnumake | ||
nettools | nettools | ||
androidenv. | androidenv.androidPkgs.platform-tools | ||
jdk | jdk | ||
schedtool | schedtool | ||
Line 280: | Line 286: | ||
# [https://github.com/mrVanDalo/LineagoOS-build LineageOS build setup using terranix and hcloud], based on the [https://gist.github.com/Nadrieril/d006c0d9784ba7eff0b092796d78eb2a shell.nix to build LineageOS]. Useful if you are in a rush and don't have to much CPU power on your hand. | # [https://github.com/mrVanDalo/LineagoOS-build LineageOS build setup using terranix and hcloud], based on the [https://gist.github.com/Nadrieril/d006c0d9784ba7eff0b092796d78eb2a shell.nix to build LineageOS]. Useful if you are in a rush and don't have to much CPU power on your hand. | ||
# [https://wiki.archlinux.org/title/Android_Debug_Bridge Archlinux Wiki to Android_Debug_Bridge] | # [https://wiki.archlinux.org/title/Android_Debug_Bridge Archlinux Wiki to Android_Debug_Bridge] | ||
[[Category:Development]] |