一、平台和源码包准备: 需要Android Studio,Android SDK 28 + NDK 22,QPython开源项目地址:http://github.com/qpython-android,QPython GitHub构建说明:https://mp.weixin.qq.com/s/b9opLK95EktFXIck25PlNA。此处不再赘述。 二、更换Python3.9内核大致步骤,繁琐但也不是很复杂: 1.安卓手机下载Linux终端模拟器Termux; 2.在终端执行 pkg install python,安装Python最新版3.9.4; 3.运行python复制出里面的所有私有文件'/data/data/com.turmux/'到SD卡上; 4.从私有文件中,找出python3.9内核,bin/python、include/python3.9/、lib/、bin/sh、bin/pip3等文件; 5.去掉内核当中过大的、不大能用到的一些so文件和会导致QPython终端异常的libandroid-support.so文件; 6.用QPython3H代码批量全文搜索,对3.9内核当中termux部分进行手动修改:lib/python3.9/subprocess.py, 把'/data/data/com.termux/files/usr/bin/sh'字符串改为'/system/bin/sh'; 7.把3.9内核拷贝到QPython源码包'qpython-master/qpython/src/main/assets/private31.mp3'(实为tar.gz压缩包)里,替换掉原有的python3.6内核; 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导入,把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内核日期对应秒数; 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.两者区别和QPython内核升级意义:Termux里的Python更加Linux原生,安装Python环境需要三百多MB。制作成的QPython.apk只有六十多MB,且可以通过SL4A服务,把Python脚本与Android原生Java/C连接起来,调用Android原生API明显QPython更有潜力。 视频演示:https://www.bilibili.com/BV1kf4y1W7Q3 如果需要 修改版 Apk/源代码,请点击以下链接: 作者:乘着船@Bilibili |
|