I Googled all around to try and figure out how to tweak Android Emulator virtual devices (AVDs) via the command-line. The Android Emulator documentation online has some options for running the emulator, but it didn’t allow me to specify memory at runtime, and many other things I wanted to customize. There is also documentation specific to the creation of AVDs (vs just the running of them on the emulator), but that kept referring to the UI tools for it. I’ve gotten so used to Googling for help, that I didn’t think of running help locally :-p
emulator -help
That gives us a LOT of options that are not documented on the website including.
Android Emulator usage: emulator [options] [-qemu args] options: -list-avds list available AVDs -sysdir <dir> search for system disk images in <dir> -system <file> read initial system image from <file> -writable-system make system image writable after 'adb remount' -datadir <dir> write user data into <dir> -kernel <file> use specific emulated kernel -ramdisk <file> ramdisk image (default <system>/ramdisk.img -image <file> obsolete, use -system <file> instead -initdata <file> same as '-init-data <file>' -data <file> data image (default <datadir>/userdata-qemu.img -partition-size <size> system/data partition size in MBs -cache <file> cache partition image (default is temporary file) -cache-size <size> cache partition size in MBs -no-cache disable the cache partition -nocache same as -no-cache -sdcard <file> SD card image (default <system>/sdcard.img -snapstorage <file> file that contains all state snapshots (default <datadir>/snapshots.img) -no-snapstorage do not mount a snapshot storage file (this disables all snapshot functionality) -snapshot <name> name of snapshot within storage file for auto-start and auto-save (default 'default-boot') -no-snapshot perform a full boot and do not do not auto-save, but qemu vmload and vmsave operate on snapstorage -no-snapshot-save do not auto-save to snapshot on exit: abandon changed state -no-snapshot-load do not auto-start from snapshot: perform a full boot -snapshot-list show a list of available snapshots -no-snapshot-update-time do not do try to correct snapshot time on restore -wipe-data reset the user data image (copy it from initdata) -avd <name> use a specific android virtual device -skindir <dir> search skins in <dir> (default <system>/skins) -skin <name> select a given skin -no-skin don't use any emulator skin -noskin same as -no-skin -dynamic-skin dynamically construct a skin of given size, requires -skin WxH option -memory <size> physical RAM size in MBs -accel <mode> Configure emulation acceleration -no-accel Same as '-accel off' -ranchu Use new emulator backend instead of the classic one -engine <engine> Select engine. auto|classic|qemu2 -netspeed <speed> maximum network download/upload speeds -netdelay <delay> network latency emulation -netfast disable network shaping -code-profile <name> enable code profiling -show-kernel display kernel messages -shell enable root shell on current terminal -no-jni disable JNI checks in the Dalvik runtime -nojni same as -no-jni -logcat <tags> enable logcat output with given tags -no-audio disable audio support -noaudio same as -no-audio -audio <backend> use specific audio backend -raw-keys disable Unicode keyboard reverse-mapping -radio <device> redirect radio modem interface to character device -port <port> TCP port that will be used for the console -ports <consoleport>,<adbport> TCP ports used for the console and adb bridge -onion <image> use overlay PNG image over screen -onion-alpha <%age> specify onion-skin translucency -onion-rotation 0|1|2|3 specify onion-skin rotation -dpi-device <dpi> specify device's resolution in dpi (default 165) -scale <scale> scale emulator window (deprecated) -http-proxy <proxy> make TCP connections through a HTTP/HTTPS proxy -timezone <timezone> use this timezone instead of the host's default -dns-server <servers> use this DNS server(s) in the emulated system -cpu-delay <cpudelay> throttle CPU emulation -no-boot-anim disable animation for faster boot -no-window disable graphical window display -version display emulator version number -report-console <socket> report console port to remote socket -gps <device> redirect NMEA GPS to character device -keyset <name> specify keyset file name -shell-serial <device> specific character device for root shell -tcpdump <file> capture network packets to file -bootchart <timeout> enable bootcharting -charmap <file> use specific key character map -prop <name>=<value> set system property on boot -shared-net-id <number> join the shared network, using IP address 10.1.2.<number> -nand-limits <nlimits> enforce NAND/Flash read/write thresholds -gpu <mode> set hardware OpenGLES emulation mode -camera-back <mode> set emulation mode for a camera facing back -camera-front <mode> set emulation mode for a camera facing front -webcam-list lists web cameras available for emulation -screen <mode> set emulated screen mode -force-32bit always use 32-bit emulator -selinux <disabled|permissive> Set SELinux to either disabled or permissive mode -qemu args... pass arguments to qemu -qemu -h display qemu help -verbose same as '-debug-init' -debug <tags> enable/disable debug messages -debug-<tag> enable specific debug messages -debug-no-<tag> disable specific debug messages -help print this help -help-<option> print option-specific help -help-disk-images about disk images -help-keys supported key bindings -help-debug-tags debug tags for -debug <tags> -help-char-devices character <device> specification -help-environment environment variables -help-keyset-file key bindings configuration file -help-virtual-device virtual device management -help-sdk-images about disk images when using the SDK -help-build-images about disk images when building Android -help-all prints all help content
I hope you found this from YOUR Google search about this, and it helped 🙂