python Android P終端運行環境

準備

環境搭建(需要root權限)

方案一 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

  • 下載python-for-android

  • 下載sl4a-r6.1.1-arm-debug.apk

  • 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章