From b17cd148ba7a9eaadd689c49e8b72c80151dcecb Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Thu, 1 Sep 2016 13:56:35 +0000 Subject: androidsdk: fix buildApp and emulateApp functions by providing the right executable paths + fix android emulator by adding dbus to the library path --- pkgs/development/mobile/androidenv/androidsdk.nix | 4 ++-- pkgs/development/mobile/androidenv/build-app.nix | 2 +- pkgs/development/mobile/androidenv/default.nix | 2 +- pkgs/development/mobile/androidenv/emulate-app.nix | 20 ++++++++++---------- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix index 36b40d5a29ff..a0ecb641f082 100644 --- a/pkgs/development/mobile/androidenv/androidsdk.nix +++ b/pkgs/development/mobile/androidenv/androidsdk.nix @@ -1,7 +1,7 @@ { stdenv, stdenv_32bit, fetchurl, unzip, makeWrapper , platformTools, buildTools, support, supportRepository, platforms, sysimages, addons , libX11, libXext, libXrender, libxcb, libXau, libXdmcp, libXtst, mesa, alsaLib -, freetype, fontconfig, glib, gtk, atk, file, jdk, coreutils, libpulseaudio +, freetype, fontconfig, glib, gtk, atk, file, jdk, coreutils, libpulseaudio, dbus , zlib, glxinfo, xkeyboardconfig }: { platformVersions, abiVersions, useGoogleAPIs, useExtraSupportLibs ? false, useGooglePlayServices ? false }: @@ -84,7 +84,7 @@ stdenv.mkDerivation rec { do wrapProgram `pwd`/$i \ --prefix PATH : ${stdenv.lib.makeBinPath [ file glxinfo ]} \ - --suffix LD_LIBRARY_PATH : `pwd`/lib64:`pwd`/lib64/qt/lib:${makeLibraryPath [ stdenv.cc.cc libX11 libxcb libXau libXdmcp libXext mesa alsaLib zlib libpulseaudio ]} \ + --suffix LD_LIBRARY_PATH : `pwd`/lib64:`pwd`/lib64/qt/lib:${makeLibraryPath [ stdenv.cc.cc libX11 libxcb libXau libXdmcp libXext mesa alsaLib zlib libpulseaudio dbus.lib ]} \ --suffix QT_XKB_CONFIG_ROOT : ${xkeyboardconfig}/share/X11/xkb done ''} diff --git a/pkgs/development/mobile/androidenv/build-app.nix b/pkgs/development/mobile/androidenv/build-app.nix index 25af902679db..390c5eb7a205 100644 --- a/pkgs/development/mobile/androidenv/build-app.nix +++ b/pkgs/development/mobile/androidenv/build-app.nix @@ -19,7 +19,7 @@ in stdenv.mkDerivation ({ name = stdenv.lib.replaceChars [" "] [""] name; - ANDROID_HOME = "${androidsdkComposition}/libexec/android-sdk-${platformName}"; + ANDROID_HOME = "${androidsdkComposition}/libexec"; buildInputs = [ jdk ant ] ++ stdenv.lib.optional useNDK [ androidndk gnumake gawk file which ]; diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix index 7874792b3a09..5a5eb1ab51bd 100644 --- a/pkgs/development/mobile/androidenv/default.nix +++ b/pkgs/development/mobile/androidenv/default.nix @@ -40,7 +40,7 @@ rec { androidsdk = import ./androidsdk.nix { inherit (pkgs) stdenv fetchurl unzip makeWrapper; - inherit (pkgs) zlib glxinfo freetype fontconfig glib gtk atk mesa file alsaLib jdk coreutils libpulseaudio; + inherit (pkgs) zlib glxinfo freetype fontconfig glib gtk atk mesa file alsaLib jdk coreutils libpulseaudio dbus; inherit (pkgs.xorg) libX11 libXext libXrender libxcb libXau libXdmcp libXtst xkeyboardconfig; inherit platformTools buildTools support supportRepository platforms sysimages addons; diff --git a/pkgs/development/mobile/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix index cad77ec7d62c..2fc753c047a9 100644 --- a/pkgs/development/mobile/androidenv/emulate-app.nix +++ b/pkgs/development/mobile/androidenv/emulate-app.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation { for i in $(seq 5554 2 5584) do - if [ -z "$(${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb devices | grep emulator-$i)" ] + if [ -z "$(${androidsdkComposition}/libexec/platform-tools/adb devices | grep emulator-$i)" ] then port=$i break @@ -61,10 +61,10 @@ stdenv.mkDerivation { # Create a virtual android device for testing if it does not exists - if [ "$(${androidsdkComposition}/libexec/android-sdk-*/tools/android list avd | grep 'Name: device')" = "" ] + if [ "$(${androidsdkComposition}/libexec/tools/android list avd | grep 'Name: device')" = "" ] then # Create a virtual android device - yes "" | ${androidsdkComposition}/libexec/android-sdk-*/tools/android create avd -n device -t ${if useGoogleAPIs then "'Google Inc.:Google APIs:"+platformVersion+"'" else "android-"+platformVersion} $NIX_ANDROID_AVD_FLAGS + yes "" | ${androidsdkComposition}/libexec/tools/android create avd -n device -t ${if useGoogleAPIs then "'Google Inc.:Google APIs:"+platformVersion+"'" else "android-"+platformVersion} $NIX_ANDROID_AVD_FLAGS ${stdenv.lib.optionalString enableGPU '' # Enable GPU acceleration @@ -77,24 +77,24 @@ stdenv.mkDerivation { fi # Launch the emulator - ${androidsdkComposition}/libexec/android-sdk-*/tools/emulator -avd device -no-boot-anim -port $port $NIX_ANDROID_EMULATOR_FLAGS & + ${androidsdkComposition}/libexec/tools/emulator -avd device -no-boot-anim -port $port $NIX_ANDROID_EMULATOR_FLAGS & # Wait until the device has completely booted echo "Waiting until the emulator has booted the device and the package manager is ready..." >&2 - ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port wait-for-device + ${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port wait-for-device echo "Device state has been reached" >&2 - while [ -z "$(${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell getprop dev.bootcomplete | grep 1)" ] + while [ -z "$(${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port shell getprop dev.bootcomplete | grep 1)" ] do sleep 5 done echo "dev.bootcomplete property is 1" >&2 - #while [ -z "$(${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell getprop sys.boot_completed | grep 1)" ] + #while [ -z "$(${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port shell getprop sys.boot_completed | grep 1)" ] #do #sleep 5 #done @@ -106,7 +106,7 @@ stdenv.mkDerivation { ${stdenv.lib.optionalString (app != null) '' # Install the App through the debugger, if it has not been installed yet - if [ -z "${package}" ] || [ "$(${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ] + if [ -z "${package}" ] || [ "$(${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port shell pm list packages | grep package:${package})" = "" ] then if [ -d "${app}" ] then @@ -115,12 +115,12 @@ stdenv.mkDerivation { appPath="${app}" fi - ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port install "$appPath" + ${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port install "$appPath" fi # Start the application ${stdenv.lib.optionalString (package != null && activity != null) '' - ${androidsdkComposition}/libexec/android-sdk-*/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity} + ${androidsdkComposition}/libexec/platform-tools/adb -s emulator-$port shell am start -a android.intent.action.MAIN -n ${package}/${activity} ''} ''} EOF -- cgit 1.4.1