我知道您可以使用端口转发“远程”编写 android 脚本,使用以下命令:
adb forward tcp:9999 tcp:<android port no>
export AP_PORT=9999
然后在python2.6中:
Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import android
>>> droid = android.Android()
>>> droid.makeToast("this works")
Result(id=0, result=None, error=None)
这很好用,但后来我想用 VIM (macVim) 尝试它。我可以使用的想法是:
map <buffer> <S-e> :w<CR>:!/usr/bin/python2.6 % <CR>
在我的 .vimrc 中运行我正在编辑的代码。这适用于在 mac 上测试 python 脚本。但是当我用android尝试它时,如果我尝试运行它(另存为and.py),我会得到以下信息:
import android
droid = android.Android()
droid.makeToadt("hihi")
:!/usr/bin/python2.6 and.py
Traceback (most recent call last):
File "and.py", line 2, in <module>
droid = android.Android()
File "/Library/Python/2.6/site-packages/android.py", line 34, in __init__
self.conn = socket.create_connection(addr)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/socket.py", line 498, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
我假设导出 AP_PORT=9999 对 vim 不“可见”,因为问题似乎在于创建self.conn
. 有任何想法吗?有没有人使用这种方法?
我没有使用模拟器,因为我的电脑太慢了。