Emulator

Když potřebuju emulátor a je mi jedno jaký:

1. $ sdkmanager —list
V první sekci se zobrazují dostupné image, jednu si vyberu

2. avdmanager create avd -n android28 -k "system-images;android-28;google_apis_playstore;x86"

3. /opt/android/sdk/emulator/emulator -avd android28

—-

Když potřebuji otestovat Android aplikaci na emulátoru s použitím konkrétní verze. Např. Android 4.2.

1. zjistím si, že Android 4.2 je API 17

2. najdu image pro emulátor

$ sdkmanager --list | grep android-17
  platforms;android-17                             | 3            | Android SDK Platform 17                                             
  sources;android-17                               | 1            | Sources for Android 17                                              
  system-images;android-17;default;armeabi-v7a     | 5            | ARM EABI v7a System Image                                           
  system-images;android-17;default;mips            | 1            | MIPS System Image                                                   
  system-images;android-17;default;x86             | 3            | Intel x86 Atom System Image                                         
  system-images;android-17;google_apis;armeabi-v7a | 5            | Google APIs ARM EABI v7a System Image                               
  system-images;android-17;google_apis;x86         | 5            | Google APIs Intel x86 Atom System Image

3. stáhnu image

$ sdkmanager --install "system-images;android-17;default;x86"
[=======================================] 100% Unzipping... x86/userdata.img

4. vytvořím AVD

$ avdmanager create avd -n android42 -k "system-images;android-17;default;x86"

5. spustím emulátor

$ /opt/android/sdk/tools/emulator -avd android42

nebo

$ /opt/android/sdk/emulator/emulator -avd android28

6. nastavení rozlišení

do ~/.android/avd/android44.avd/config.ini přidat:

hw.lcd.density=320

Spustit emulátor:

/opt/android/sdk/tools/emulator -avd android44 -skin 2048x1536

—-

Staré příkazy:

android create avd -n jara3 -t android-19 --abi default/armeabi-v7a

emulator -avd jara3

adb -s emulator-5554 install -r platforms/android/ant-build/MainActivity-debug.apk

adb -s emulator-5554 shell am start -a android.intent.action.MAIN -n cz.inited.pojisteni/.MainActivity

adb -s emulator-5554 emu kill

Script na spuštění emulátorů: https://gist.github.com/stackedsax/2639601

Testovací nástroje:

#!/bin/bash
#export ANDROID_AVD_HOME=/home/inited/avd
export ANDROID_HOME=/opt/android/sdk

# function to really, really check things are booted up
function wait_for_boot_complete {
   local boot_property=$1
   local boot_property_test=$2
   echo "[emulator-5554] Checking $boot_property..."
   local result=`adb -s emulator-5554 shell $boot_property 2>/dev/null | grep "$boot_property_test"`
   while [ -z $result ]; do
      echo -n "."
      sleep 1
      result=`adb -s emulator-5554 shell $boot_property 2>/dev/null | grep "$boot_property_test"`
   done
   echo "[emulator-5554] All boot properties succesful"
}

android delete avd -n avd_test

echo no | android -s create avd -n avd_test -t android-16 -c 60M -f -b default/x86

emulator -avd avd_test -port 5554 -no-boot-anim -noaudio -no-window &
echo $! > /tmp/avd_test.pid
echo  "[emulator-5554] Waiting for emulator to boot completely"
   wait_for_boot_complete "getprop dev.bootcomplete" 1
   wait_for_boot_complete "getprop sys.boot_completed" 1
   wait_for_boot_complete "pm path android" package
echo "Emulator nabehl"

java -jar selendroid-standalone-0.16.0-with-dependencies.jar -aut app.apk &
echo $! > /tmp/avd_test2.pid

chyba v selendrodiu: http://scn.sap.com/blogs/fqlyu/2015/01/14/automate-kapsel-applicationcordova-36x-or-above-with-selendroid-on-android

Není-li uvedeno jinak, obsah této stránky je pod licencí Creative Commons Attribution-ShareAlike 3.0 License