从PythonDjang启动Android仿真器

2024-04-19 23:18:29 发布

您现在位置:Python中文网/ 问答频道 /正文

def start_test(request):
    os.system('echo Starting emulator...')
    os.system('./android-sdk-linux_x86/tools/emulator -avd testavd &')
    return HttpResponse("OK")

下面是我要做的事情的基本代码。
执行此代码时,服务器在运行模拟器时停止响应。感谢任何帮助。
我使用的是django开发服务器。以下是服务器输出:

^{pr2}$

Tags: 代码testecho服务器osrequestlinuxdef
3条回答

我还没来得及解决这个问题,但是子流程.Popen允许我以后在模拟器上执行命令:

print 'Starting emulator...'
subprocess.Popen(['emulator', '-avd', 'testavd'])
os.system('adb wait-for-device')
os.system('Perform whatever adb commands you need')

值得注意的是,它使用的是django开发服务器,它已经开始使用sudo,因此显然这还远不理想。在

考虑到您正在使用django,您可能需要以某种方式管理模拟器。 在这种情况下,线程不是一个好的选择。在

我建议在本例中使用类似于http://code.google.com/p/django-tasks/的方法来研究任务管理

也许你应该试着在不同的线程中运行模拟器?在

例如

import subprocess
thread = threading.Thread(target=subprocess.popen(['./android-sdk-linux_x86/tools/emulator', '-avd', 'testavd', '&'])
thread.start()

相关问题 更多 >