升級(jí) QPython OH 內(nèi)核至 Python 3.9
QPython 3C Python 3.11?視頻演示:https://www.bilibili.com/BV1NL411G7XX,制作方法與本文基本相似。
一、平臺(tái)和源碼包準(zhǔn)備:
需要Android Studio,Android SDK 28 + NDK 22,QPython開源項(xiàng)目地址:http://github.com/qpython-android,QPython GitHub構(gòu)建說明:https://mp.weixin.qq.com/s/b9opLK95EktFXIck25PlNA。此處不再贅述。
二、更換Python3.9內(nèi)核大致步驟,繁瑣但也不是很復(fù)雜:
1.安卓手機(jī)下載Linux終端模擬器Termux;
2.在終端執(zhí)行 pkg install python,安裝Python最新版3.9.4;
3.運(yùn)行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文件和會(huì)導(dǎo)致QPython終端異常的libandroid-support.so文件;
6.用QPython3H代碼批量全文搜索,對(duì)3.9內(nèi)核當(dāng)中termux部分進(jìn)行手動(dòng)修改: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"(實(shí)為tar.gz壓縮包)里,替換掉原有的python3.6內(nèi)核;
8.修改"qpython-master/qpython/src/main/assets/private31.mp3"里的lib/python3.9/site-packages/pip,把pip版本升級(jí)到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的部分手動(dòng)替換為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)核日期對(duì)應(yīng)秒數(shù);
12.把bin/python改名為bin/python3-android5;
13.利用QPython3H代碼批量全文搜索,把QPythonOH其余3.6的部分手動(dòng)改為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)核升級(jí)意義: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/源代碼,請(qǐng)點(diǎn)擊以下鏈接:
作者:乘著船@Bilibili
更多文章+下載鏈接:https://www.bilibili.com/read/readlist/rl321663