SL4A/Py4A直接在adb中用python加载脚本

最近做的一个东西里几乎不需要用到图形界面,用机器控制手机,每次都执行一次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

后来找到官网有详细教程,如下。

 

posted @ 2013-06-22 11:23  latyas  阅读(1288)  评论(0编辑  收藏  举报