准备
环境搭建(需要root权限)
方案一 Qpython:
- 下载Qpython
- 运行
sh ./data/data/com.hipipal.qpy3/files/bin/qpython-android5.sh ./sdcard/aging.py &>./sdcard/log &
//方法2
sh ./data/user/0/org.qpython.qpy3/files/bin/qpython-android5.sh ./sdcard/time_schedual_aging.py
方案二 SL4A
-
Local install
if you device is not connected to internet, please try this way.
How to install
Download sl4a apk
Download py4a apk
Download py4a zips, interpreter - python_r29.zip, modules - python_extras_r29.zip, sample scripts - python_scripts_r26.zip.
Enable “Unknown Sources” in your device settings.
Open 1. apk to install. (sl4a)
Open 2. apk to install. (py4a)
Open PythonForAndroid application
push 3. zips to device’s /sdcard/com.googlecode.pythonforandroid. (be sure /sdcard path to fit your device.)
Click “Local install” to check zips and install python binaries.
Click “Local install” to install these zips.
Launch sl4a, Select ‘Menu’ >> ‘View’ >> ‘Interpreters’ and Select ‘Python 2.7.?’.
Python will be launched, have fun! -
use with command line.
download python3.sh from here, and push to your android. -
use from SL4A script list
From SL4A console, you can’t use with SL4A console. #135
launch pip_console.py3
to use modules, site.addsitedir
$ cd /path/to/sl4a/scripts
$ bash python3.sh pip_console.py3 # install pip
$ bash python3.sh pip_console.py3 # re-launch
--> pip install requests
--> pip uninstall requests
adb shell运行python脚本
adb shell
bash python3.sh /sdcard/aging.py
代码编写
SL4A api文档
python 代码段
关键性实例代码:
打开app:
def statApp(app_package_name,app_package_class):
import androidhelper #qpython
#import android sl4a
droid = androidhelper.Android()
ret = droid.startActivity('android.intent.action.MAIN',
None,None,None,False,app_package_name,app_package_name+app_package_class)
startApp('com.mediatek.mtklogger','.MainActivity')
筛选数字:
def getPid(p_name):
pid_str = runPlatCmdInPip('ps -A|grep '+p_name)
pattern = re.compile(r'\d+\.?\d*') #number list
pinfo_list = pattern.findall(str(pid_str))
pid = int( pinfo_list[0])
return pid