Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You can use an android emulator to help you develop your GDSL tests. It is usefull if you do not have a real device or if you want to test on a device with the same resolution as a device on the Test Bench. Do not use emulator if you want measures, the metrics (energy, data …) are not available.

1.

...

Prerequisite

1.1 Prerequisite to use an android emulator without Greenspector tools

1.1. Prerequisite

  • 16 GB of RAM memory

  • Install Android Studio

  • Install Java on Linux

Code Block
languagebash
# Update the repositories
sudo apt-get update

# Check if Java is already installed
java -version

# Install Java Runtime Environment (JRE) and verify the installation
sudo apt-get install openjdk-8-jre
java -version

# To change the java version used
sudo update-alternatives --config java
  • Install Java on Window Windows:

    • Go to https://www.java.com/fr/download/help/windows_manual_download.html and install the Java executable

    • Click on the Java executable and follow the instructions

    • Add JAVA_HOME to your PATH environment variables: from your Windows start menu > Settings > System > About > Advanced settings > Environment variables > Path > Modify > Add the path C:\Program Files (x86)\Java\jre-1.8

  • Install sdkmanager from Android Studio:

    • Open Android Studio

    • Click on More Actions > SDK Manager (or Tools > SDK Manager if a project is open)

    • Click on the SDK Tools tab, uncheck "Hide Obsolete Packages"

    • Check Android SDK Tools and install version 26.1.1

  • Add sdkmanager to your PATH environment variables:

    • On Linux: add the line export PATH=$HOME/Android/Sdk/tools/bin:$PATH in the .bashrc file and run the command "source ~/.bashrc"

    • On Mac: add the line export PATH=$HOME/Library/Android/sdk/tools/bin:$PATH in the .bash_profile file and run the command "source ~/.bash_profile"

    • On Windows: Windows start menu > Settings > System > About > Advanced settings > Environment variables > Path > Modify > Add the path C:\Users\[username]\AppData\Local\Android\Sdk\tools\bin

1.2. Prerequisite to use an android emulator with Greenspector tools

  • Follow the first part of the prerequisite (part 1.1)

  • Add ADB (Android Debug Bridge) to your PATH environment variables:

    • On Linux: add the line export PATH=$HOME/Android/Sdk/platform-tools:$PATH in the .bashrc file and run the command "source ~/.bashrc"

    • On Mac: add the line export PATH=$HOME/Library/Android/sdk/platform-tools:$PATH in the .bash_profile file and run the command "source ~/.bash_profile"

    • On Windows: Windows start menu > Settings > System > About > Advanced settings > Environment variables > Path > Modify > Add the path C:\Users\[username]\AppData\Local\Android\Sdk\platform-tools

  • Get the testrunner from https://app.greenspector.com/ in the Modules tab, and put it in a folder (for example “testrunner_files”)

  • Add in this folder the configuration files config.yml and job.yml, and a script with the testgb extension. An example of these files is available at the following location:

2. Use an android emulator without Greenspector tools

2.1. Create an emulator

  • Open Android Studio

  • Click on the three dots button

  • Select Virtual Device Manager

...

  • Check the configuration and click on “Finish”. Be careful, the configuration might be different than the one you chose. Make sure to click on “Show Advanced Settings” and check each property.

  • Your device is now created. You can launch it by clicking on the triangle.

...

...

2.

...

2. Emulators tested

Device Name

Screen Size

(inches)

Resolution

RAM

System image

Version Chrome

Computer OS

Samsung Galaxy S9

5.,8

1080 x 2220

4 GB

Android 10.0 Google APIs | x86

113

Linux

Samsung Galaxy Tab A7

10.,4

2000 x 1200

3 GB

Android 10.0 Google APIs | x86

114

Linux

Samsung Galaxy Tab S7 FE

12.,4

2560 x 1600

4 GB

Android 1310.0 Google APIs | x86_64

114

Linux

Samsung Galaxy S10

6.,1

1080 x 2280

8 GB

Android 11.0 Google APIs | x86

Google Pixel C

10.,2

2560 x 1800

(à vérifier)

3 GB

Android 8.1 Google APIs | x86

...

Note

If your computer is configured in English, you have to write the screen size with a dot (ex: 5.8).

Info

Avoid using Android 13.0 system image. It takes for too many resources from your computer.

2.3. Add Google Play Store to a custom emulator

  • Open the file $HOME/.android/avd/[device_id]/config.ini. Replace [device_id] by the id of your device.

...

  • Make the following changes:

    • PlayStore.enabled: change from “false” to “true”

    • image.sysdir.1: change “google_apis” to “google_apis_playstore”

    • tag.display: change “Google APIs” to “Google Play”

    • tag.id: change “google_apis” to “google_apis_playstore”

  • Save your changes

  • On the Device Manager window, select the three dots button and click on “Wipe Data”. It will load the new configuration.

  • We expect the following error message:

...

  • Install sdkmanager from Android Studio:

    • Click on More Actions > SDK Manager (or Tools > SDK Manager if a project is open)

    • Click on the SDK Tools tab, uncheck "Hide Obsolete Packages"

    • Check Android SDK Tools and install version 26.1.1

  • Add sdkmanager to your PATH environment variables:

  • On Linux: add the line export PATH=$HOME/Android/Sdk/tools/bin:$PATH in the .bashrc file and run the command "source ~/.bashrc"

  • On Mac: add the line export PATH=$HOME/Library/Android/sdk/tools/bin:$PATH in the .bash_profile file and run the command "source ~/.bash_profile"
  • On Windows: Settings > System > About > Advanced settings > Environment variables > Path > Modify > Add the path C:\Users\[username]\AppData\Local\Android\Sdk\tools\bin

  • Ajouter “adb” en tant que variable d’environnement :

  • Install the system image with Google Play Store:

...

  • On the Device Manager window, select the three dots button and click on “Wipe Data”. It will load the new configuration. Then, you can launch the device with Google Play Store.

...

2.

...

4. Update Google Play Store and Google Chrome

  • Start the emulator

  • Open Google Play Store

  • Sign in with your account

  • Click on your profile at the top right of the emulator screen

  • Click on Settings > About > Update Play Store

  • Wait for the update to complete. It takes several minutes.

  • If you want to test a website, search for the Google Chrome app and update it

...

2.

...

5. Start an emulator from the command line (optional)

  • On Linux: Update ~/.bashrc or ~/.zshrc

Code Block
languagebash
# For newer version of Android SDK
export PATH=$HOME/Android/Sdk/emulator:$PATH

# For older version of Android SDK
export PATH=$HOME/Android/Sdk/tools:$PATH
  • On macOS: Update ~/.bashrc or ~/.bash_profile

Code Block
languagebash
export PATH=$HOME/Library/Android/Sdk/emulator:$PATH
  • On Windows:

    • Windows start menu > Settings > System > System Information > Advanced system settings

    • Add “C:\Users\[username]\AppData\Local\Android\Sdk\emulator” to your PATH environment variables

...

Info

If an emulator crashes or is too slow, you can try one of the following commands:

emulator -avd [avd_name] -memory 8000

emulator -avd [avd_name] -gpu shiftshader_indirect

To get more logs, you can use the following command:

emulator -avd [avd_name] -logcat-output logcat.txt -debug all -verbose

...

3. Use an android emulator with Greenspector tools

2.1. Prerequisite

  • Follow the first part of the documentation

  • Install ADB (Android Debug Bridge) and add it to your PATH environment variables

  • Get the testrunner from https://app.greenspector.com/ in the Modules tab, and put it in a folder (for example “testrunner_files”)

  • Add in this folder the configuration files config.yml and job.yml, and a script with the testgb extension. An example of these files is available at the following location:

...

3.1. Change the job.yml file

Code Block
languageyaml
job:
  extras:
    config-skipsetupphone: true

3.2.

...

Change the config.yml file

Code Block
languageyaml
target:
  connection: usb
  serial: xxxx

The target.serial field corresponds to the emulator id. You can find it by running “adb devices”.

...

3.

...

3.

...

Run the testrunner

  • Launch an android

...

  • emulator

    • Option 1: open the Device Manager window of Android Studio and click on the triangle

    • Option 2: start an emulator from the command line (part 2.5)

  • If you run the testrunner for the first time, you have to run it once without the --no-update option:

    • On Linux and macOS: ./testrunner -jobFile job.yml -config config.yml

    • On Windows: testrunner -jobFile job.yml -config config.yml

  • Download the android-service executable in 32 bits and its version file : https://dl.greenspector.com/emulator/android-service-files.tar.gz

  • Go to your greenspector cache:

    • On Linux and macOS: $HOME/.greenspector

    • On Windows: C:\Users\[username]\.greenspector

  • Replace the android-service and android-service.version files with the downloaded files. You will have to decompress the tar.gz file.

  • You can now run the testrunner with the following command

...

languagebash

...

  • --no-update option:

    • On Linux and macOS: ./testrunner -jobFile job.yml -config config.yml --no-update

    • On Windows: testrunner -jobFile job.yml -config config.yml --no-update

Note

If you forget the --no-update option, you have to replace the android-service and android-service.version files again.