远程无头Ubuntu服务器的Android模拟器(DigitalOcean)?

远程无头Ubuntu服务器的Android模拟器(DigitalOcean)?,ubuntu,android-emulator,digital-ocean,Ubuntu,Android Emulator,Digital Ocean,我对安卓应用程序开发相当陌生 我想建立一个自动测试Android应用程序的系统。我目前有一个带有Ubuntu 16.04的远程服务器(一个带有1GB内存的DigitalOcean droplet)。我还下载并在那里设置了Android SDK,并使用Android create avd…创建了一个模拟器 似乎DigitalOcean不支持KVM,我必须使用-qemu-no KVM禁用它,否则会弹出硬件错误 问题:仿真器似乎启动了,但根据adb logcat,它加载库和其他软件大约半个小时,最后在

我对安卓应用程序开发相当陌生

我想建立一个自动测试Android应用程序的系统。我目前有一个带有Ubuntu 16.04的远程服务器(一个带有1GB内存的DigitalOcean droplet)。我还下载并在那里设置了Android SDK,并使用
Android create avd…
创建了一个模拟器

似乎DigitalOcean不支持KVM,我必须使用
-qemu-no KVM
禁用它,否则会弹出硬件错误

问题:仿真器似乎启动了,但根据
adb logcat
,它加载库和其他软件大约半个小时,最后在一个随机位置冻结,我只能用
Ctrl-\
强制退出

这仅仅是因为模拟器启动非常慢吗?有办法解决这个问题吗

或者,在DigitalOcean服务器上,是否有更好的Android模拟器替代品可以从命令行运行

谢谢


当我运行模拟器时:

$ emulator -avd Test1 -no-window -qemu -no-kvm
Error: unable to open display 
emulator: WARNING: Increasing RAM size to 1024MB
emulator: WARNING: VM heap size set below hardware specified minimum of 64MB
emulator: WARNING: Setting VM heap size to 256MB
emulator: WARNING: QEMU2 does not support snapshots - option will be ignored.
Error: unable to open display 
pulseaudio: pa_context_connect() failed
pulseaudio: Reason: Connection refused
pulseaudio: Failed to initialize PA contextaudio: Could not init `pa' audio driver
console on port 5554, ADB on port 5555   # stays on this line for 20 minutes
Quit (core dumped)                       # Ctrl-\ here
logcat的尾端:

D/NuPlayerDriver( 1144): start(0xb6250ca0)
I/GenericSource( 1144): start
I/Process ( 1498): Sending signal. PID: 1588 SIG: 3
I/Process ( 1498): Sending signal. PID: 1498 SIG: 3
I/art     ( 1498): Thread[3,tid=1503,WaitingInMainSignalCatcherLoop,Thread*=0xafc0d400,peer=0x12c02080,"Signal Catcher"]: reacting to signal 3
W/art     ( 1498): Suspending all threads took: 76.883ms
D/NuPlayerDriver( 1144): reset(0xb6250ca0)
I/art     ( 1588): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 1588): Thread[3,tid=1591,WaitingInMainSignalCatcherLoop,Thread*=0xafc0d400,peer=0x12c210e0,"Signal Catcher"]: reacting to signal 3
W/art     ( 1588): Suspending all threads took: 60.021ms
I/art     ( 1633): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 1588): Wrote stack traces to '/data/anr/traces.txt'
I/DownloadManager( 1633): Upgrading downloads database from version 0 to version 109, which will destroy all old data
I/dumpstate( 1800): begin
I/art     ( 1552): Thread[3,tid=1563,WaitingInMainSignalCatcherLoop,Thread*=0xb1505400,peer=0x746a5080,"Signal Catcher"]: reacting to signal 3
I/art     ( 1552): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 1588): Thread[3,tid=1591,WaitingInMainSignalCatcherLoop,Thread*=0xafc0d400,peer=0x12c210e0,"Signal Catcher"]: reacting to signal 3
I/art     ( 1613): Thread[3,tid=1618,WaitingInMainSignalCatcherLoop,Thread*=0xafc0d400,peer=0x12c07080,"Signal Catcher"]: reacting to signal 3
I/art     ( 1588): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 1633): Thread[3,tid=1641,WaitingInMainSignalCatcherLoop,Thread*=0xafc0d400,peer=0x22c12080,"Signal Catcher"]: reacting to signal 3
I/art     ( 1739): Thread[3,tid=1749,WaitingInMainSignalCatcherLoop,Thread*=0xafc0d400,peer=0x22c07080,"Signal Catcher"]: reacting to signal 3
I/art     ( 1613): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 1763): Thread[3,tid=1775,WaitingInMainSignalCatcherLoop,Thread*=0xafc0d400,peer=0x22c06140,"Signal Catcher"]: reacting to signal 3
I/art     ( 1739): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 1763): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 1633): Wrote stack traces to '/data/anr/traces.txt'
# Stopped here

我也有这个问题。有什么解决办法吗?