|
一、平臺和源碼包準(zhǔn)備: 需要Android Studio,Android SDK 28 + NDK 22,QPython開源項目地址:http://github.com/qpython-android,QPython GitHub構(gòu)建說明:https://mp.weixin.qq.com/s/b9opLK95EktFXIck25PlNA。此處不再贅述。 二、更換Python3.9內(nèi)核大致步驟,繁瑣但也不是很復(fù)雜: 1.安卓手機下載Linux終端模擬器Termux; 2.在終端執(zhí)行 pkg install python,安裝Python最新版3.9.4; 3.運行python復(fù)制出里面的所有私有文件'/data/data/com.turmux/'到SD卡上; 4.從私有文件中,找出python3.9內(nèi)核,bin/python、include/python3.9/、lib/、bin/sh、bin/pip3等文件; 5.去掉內(nèi)核當(dāng)中過大的、不大能用到的一些so文件和會導(dǎo)致QPython終端異常的libandroid-support.so文件; 6.用QPython3H代碼批量全文搜索,對3.9內(nèi)核當(dāng)中termux部分進(jìn)行手動修改:lib/python3.9/subprocess.py, 把'/data/data/com.termux/files/usr/bin/sh'字符串改為'/system/bin/sh'; 7.把3.9內(nèi)核拷貝到QPython源碼包'qpython-master/qpython/src/main/assets/private31.mp3'(實為tar.gz壓縮包)里,替換掉原有的python3.6內(nèi)核; 8.修改'qpython-master/qpython/src/main/assets/private31.mp3'里的lib/python3.9/site-packages/pip,把pip版本升級到21.0; 9.修改'qpython-master/qpython/src/main/assets/private32.mp3'里的lib/python3.6/site-packages里的qpy.py,去掉imp導(dǎo)入,把python3.6重命名為python3.9; 10.修改'qpython-master/qpython/src/main/assets/'里的private31.mp3、private32.mp3、private33.mp3、public3.mp3、notebook3.mp3文件,把其余3.6的部分手動替換為3.9; 11.把'qpython-master\qpython\src\main\res\values\strings.xml'里的private31_version、private32_version、private33_version、public3_version、notebook3_version改為3.9內(nèi)核日期對應(yīng)秒數(shù); 12.把bin/python改名為bin/python3-android5; 13.利用QPython3H代碼批量全文搜索,把QPythonOH其余3.6的部分手動改為3.9:'qpython-master\qpython\src\main\java\org\qpython\qpy\console\ScriptExec.java、'qpython-master\qpython\src\main\java\org\qpython\qpy\main\app\CONF.java'; 14.Android Studio重新簽名打包QPython.apk; 15.兩者區(qū)別和QPython內(nèi)核升級意義:Termux里的Python更加Linux原生,安裝Python環(huán)境需要三百多MB。制作成的QPython.apk只有六十多MB,且可以通過SL4A服務(wù),把Python腳本與Android原生Java/C連接起來,調(diào)用Android原生API明顯QPython更有潛力。 視頻演示:https://www.bilibili.com/BV1kf4y1W7Q3 如果需要 修改版 Apk/源代碼,請點擊以下鏈接: 作者:乘著船@Bilibili |
|
|