Emulator
| Command | Description |
|---|---|
| Emulator | |
emulator -list-avds | List local emulators |
emulator -avd Pixel_4_API_31 -wipe-data -dns-server 8.8.8.8 | Run emulator |
emulator -version | List emulator version. |
telnet localhost 5554 | emulator console. |
| Adb | |
adb devices | List active devices. |
adb --version | Check adb. |
adb logcat | View adb log files. |
| Avd | |
avdmanager create avd -n emulator_name -k "system-images;android-24;default;x86_64" -g "default" | Create |
| Sdkmanager | |
sdkmanager "system-images;android-24;default;x86_64" | View system image |
sdkmanager --list | list updates available |
sdkmanager --update | update |
| Directory | Description | eg. |
|---|---|---|
ANDROID_SDK_ROOT | Android SDK | C:\Users\<YourUsername>\AppData\Local\Android\Sdk |
ANDROID_SDK_HOME | Android SDK config | C:\Users\<YourUsername>\.android |
| Command | Description |
|---|---|
emulator -list-avds | List local emulators |
emulator -avd Pixel_4_API_31 -dns-server 8.8.8.8 | Run emulator |
telnet localhost 5554 | emulator console. |
adb devices | List active devices. |
adb --version | Check adb. |
adb logcat | View adb log files. |
- NOTE DELETE THE AVD BEFORE DELETING THE SDK.
Find ini file.
PS C:\Users\dave> avdmanager.bat list avd
Available Android Virtual Devices:
Name: Android_API_35
Path: C:\android-sdk\.android\avd\Android_API_35.avd
...
Add the following options to the config.ini (NOTE, NOT the Android_API_35)
PlayStore.enabled = true
hw.keyboard = yes
hw.ramSize = 2G
vm.heapSize = 512M
hw.camera.back = emulated
hw.camera.front = emulated
hw.cpu.ncore=6
hw.gpu.enabled = yes
hw.gpu.mode=host
hw.lcd.density = 420
hw.lcd.height = 2400
hw.lcd.width = 1080
hw.lcd.vsync = 60
hw.lcd.depth = 32
PS E:\working\flipdare\code\apps\demo> adb shell
emu64xa:/ $ cat /proc/meminfo
| Command | Description |
|---|---|
avdmanager -v delete avd -n "API_29_X86_PLAYSTORE" | Delete avd |
avdmanager list avd | List avds |
avdmanager create avd -n Android_API_30 -k "system-images;android-30;google_atd;x86_64" -c 100M | create avd |
| Command | Description |
|---|---|
sdkmanager --list | List all available images |
sdkmanager --list_installed | List installed |
sdkmanager --uninstall \"system-images;android-30;google_apis_playstore;x86" | Uninstall via sdk manager. |
| Enviroment | Path | Description |
|---|---|---|
D:\android\.android\avd | emulator config | |
ANDROID_SDK_ROOT | d:\Users\dave\AppData\Local\Android\Sdk | |
ANDROID_SDK_HOME | D:\android | Location of .android |
ANDROID_EMULATOR_HOME | D:\android\.android | Emulator |
| N/A | C:\Users\dave\AppData\Local\Temp | Log files windows |
| N/A | D:\Users\dave\AppData\Local\Android\Sdk\cmdline-tools\latest\bin | sdkmanager |
rm -rf ~/.android/adbkey*;
adb kill-server;
adb devices;
emulator -avd Android_API_30 -no-skin -no-boot-anim -no-window -wipe-data \
-no-audio -no-accel -no-snapshot-save -netspeed full -netdelat none \
-memory 768 -port
/opt/android-sdk/emulator/emulator @MyAVD -no-window -no-audio -ports 5554,5555 -skip-adb-auth -no-boot-anim -show-kernel -qemu -cpu max -machine gic-version=max
with options
| Command | |||
|---|---|---|---|
-no-skin | no-boot-anim | no-window | -wipe-data |
-no-audio | -no-accel | -no-snapshot-save | |
-netspeed full | -netdelay none | ||
-memory 768 | |||
-gpu swiftshader_indirect | |||
-port 8952 |
adb shell settings put global window_animation_scale 0.0
adb shell settings put global transition_animation_scale 0.0
adb shell settings put global animator_duration_scale 0.0
Check for device up
adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done; input keyevent 82'
apt install linux-tools-generic
modprobe usbip_core
modprobe usbip_host
modprobe vhci_hcd
usbip list -l
sdkmanager "platform-tools" "platforms;android-30" "system-images;android-30;default;x86_64"
- Note, the
platform-toolsinstalls adb
echo "no" | avdmanager create avd -n test -k "system-images;android-30;default;x86_64" --device "pixel"
avdmanager delete avd -n test_arm
sdkmanager --uninstall "system-images;android-30;default;x86_64"
sdkmanager --install "system-images;android-30;google_atd;arm64-v8a"
echo "no" | avdmanager --verbose create avd --force --name "pixel_5_api30_google_atd_emulator" --package "system-images;android-30;google_atd;arm64-v8a" --tag "google_atd" --abi "arm64-v8a" --device "pixel_5"
sdkmanager --install "system-images;android-30;google_atd;x86_64"
echo "no" | avdmanager create avd -n Android_API_30 -k "system-images;android-30;google_atd;x86_64" -c 100M
echo "no" | avdmanager create avd -n API_30_X86_64_PLAYSTORE -k "system-images;android-30;google_apis_playstore;x86_64" -c 100M
echo "no" | avdmanager create avd -n API_30_X86_PLAYSTORE -k "system-images;android-30;google_apis_playstore;x86" -c 100M
With google_apis
sdkmanager --install "system-images;android-30;google_apis_playstore;x86_64" avdmanager create avd -n tester -k "system-images;android-30;google_apis_playstore;x86" -c 100M avdmanager create avd -n Android_API_33 -k "system-images;android-33;google_atd;x86_64" -c 100M
wget https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip
unzip commandlinetools-linux-8512546_latest.zip -d android-sdk
mv android-sdk /opt/
mkdir /opt/android-sdk/cmdline-tools/latest
mv /opt/android-sdk/cmdline-tools/* /opt/android-sdk/cmdline-tools/latest
echo "export JAVA_HOME=/usr/lib/jvm/jdk-21.0.4-oracle-x64" >> /etc/bash.bashrc
export "PATH="\$JAVA_HOME/bin:\$PATH" >> /etc/bash.bashrc
echo "export ANDROID_SDK_ROOT=/opt/android-sdk" >> /etc/bash.bashrc
echo "export ANDROID_HOME=/opt/android-sdk" >> /etc/bash.bashrc
echo "export ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL=60" >> /etc/bash.bashrc
echo "export PATH=\$PATH:/opt/android-sdk/cmdline-tools/latest/bin" >> /etc/bash.bashrc
sdkmanager --update
sdkmanager --licenses
Get emulator download link:
https://ci.android.com/builds/branches/aosp-emu-master-dev/grid?
column: emulator –> linux_aarch64
click a green version
click Artifacts tab
click
sdk-repo-linux_aarch64-emulator-[build number].zipRight-click the Download link (blue) and copy the download URL
cd /opt/android-sdk/ wget -O emulator.zip https://ci.android.com/builds/submitted/12345114/emulator-linux_aarch64/latest/sdk-repo-linux_aarch64-emulator-12345114.zip unzip emulator.zip cd emulator
Update licenses
- copy text from https://chromium.googlesource.com/android_tools/+/refs/heads/master/sdk/emulator/package.xml
- e.g.
sdk-repo-linux-emulator-12345114.zipon branch aosp-emu-master-dev on target emulator-linux_x64_gfxstream
- e.g.
vi /opt/android-sdk/emulator/package.xml–> paste copied textcat source.properties–> get Emulator version number from Pkg.Revision (Example: Pkg.Revision=31.3.9)- update the following params in
package.xmlaccording to the version:<major>, <minor>, <micro>
- copy text from https://chromium.googlesource.com/android_tools/+/refs/heads/master/sdk/emulator/package.xml
Configure vm
Version from
<major>in previous step.sdkmanager "system-images;android-VanillaIceCream;google_apis_playstore;x86_64" avdmanager -v create avd -f -n MyAVD -k "system-images;android-35;google_apis;arm64-v8a" -p "/opt/android-sdk/avd" avdmanager list avd --> check that you have MyAVD
Misc
mkdir /opt/android-sdk/platforms mkdir /opt/android-sdk/platform-tools echo "Vulkan = off" >> ~/.android/advancedFeatures.ini echo "GLDirectMem = on" >> ~/.android/advancedFeatures.iniMetal instance, enabled KVM access:
sudo gpasswd -a $USER kvmlogout and re-login
/opt/android-sdk/emulator/emulator -accel-check–> check accel:0, KVM (version 12) is installed and usable: accel