最近做的一个东西里几乎不需要用到图形界面,用机器控制手机,每次都执行一次adb shell,但是python由于环境变量问题不可以直接在adb的shell中调用。
没研究过android我以为/下的init.rc和init.*.rc会在启动自动加载,失败……
用busybox的某东西建了/etc/init.d 失败
于是发现了
/etc/profile

在其后添加

  1. mount -t tmpfs tmpfs /data/tmp
  2. chmod 1777 /data/tmp
  3. export EXTERNAL_STORAGE=/mnt/sdcard
  4. PYTHONPATH=/mnt/sdcard/com.googlecode.pythonforandroid/extras/python
  5. PYTHONPATH=${PYTHONPATH}:/data/data/com.googlecode.pythonforandroid/files/python/lib/python2.6/lib-dynload
  6. export PYTHONPATH
  7. export TEMP=/data/tmp
  8. export PYTHON_EGG_CACHE=$TEMP
  9. export PYTHONHOME=/data/data/com.googlecode.pythonforandroid/files/python
  10. export LD_LIBRARY_PATH=/data/data/com.googlecode.pythonforandroid/files/python/lib

然后在/sbin下建个软连接到/data/data/com.googlecode.pythonforandroid/files/python/bin/python即可

  1. 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

https://www.cnblogs.com/latyas/p/3149459.html