最近做的一个东西里几乎不需要用到图形界面,用机器控制手机,每次都执行一次adb shell,但是python由于环境变量问题不可以直接在adb的shell中调用。
没研究过android我以为/下的init.rc和init.*.rc会在启动自动加载,失败……
用busybox的某东西建了/etc/init.d 失败
于是发现了
/etc/profile
在其后添加
mount -t tmpfs tmpfs /data/tmp
chmod 1777 /data/tmp
export EXTERNAL_STORAGE=/mnt/sdcard
PYTHONPATH=/mnt/sdcard/com.googlecode.pythonforandroid/extras/python
PYTHONPATH=${PYTHONPATH}:/data/data/com.googlecode.pythonforandroid/files/python/lib/python2.6/lib-dynload
export PYTHONPATH
export TEMP=/data/tmp
export PYTHON_EGG_CACHE=$TEMP
export PYTHONHOME=/data/data/com.googlecode.pythonforandroid/files/python
export LD_LIBRARY_PATH=/data/data/com.googlecode.pythonforandroid/files/python/lib
然后在/sbin下建个软连接到/data/data/com.googlecode.pythonforandroid/files/python/bin/python即可
ln -s /data/data/com.googlecode.pythonforandroid/files/python/bin/python /sbin/python
最后,手机上开启Script Monitor Service
SL4A->Menu->View->Interpreters, Menu->Starft Server->Private
后来找到官网有详细教程,如下:
https://code.google.com/p/android-scripting/wiki/RemoteControl