升级 QPython OH 内核至 Python 3.9
一、平台和源码包准备:
需要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/等文件;
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,然后修改bin/pip3到对应版本;
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更有潜力。
主界面:
终端界面:(支持FileProvider)
“更多”界面:
“关于”界面:
视频演示:https://www.bilibili.com/BV1kf4y1W7Q3
作者:乘着船@CSDN
更多文章+下载链接,QPython3开源库
下载地址2:gitee
升级 QPython OH 内核至 Python 3.9相关推荐
- 一 在应用中升级u-boot、内核以及文件系统
近期在做在Linux系统中做在应用中升级功能,网络传输数据,实现的目标是:通过网络可以对u-boot.内核.文件系统的文件进行修改升级. 这里记录一下简单思路: 首先从全局考虑,要实现的功能网络通信部 ...
- mac系统学python_升级mac自带的python,学python拿mac还是win,使用系统自带Pyth
升级mac自带的python,学python拿mac还是win,使用系统自带Pyth 使用系统自带Python的弊端 系统自带的python版本比较旧,得不到python开发社区的支持,系统版本pyt ...
- Linux 升级到指定内核(Centos7 yum升级内核、centos系统中kernel-devel)
文章目录 一.Linux 升级内核 Centos7 yum/rpm升级到最新内核 Centos 7 rpm升级到指定内核 关于Linux依赖包资源下载 二.Linux内核源码的编译及安装 三.设置 g ...
- 升级 Ubuntu Linux 内核的几种不同方法 | Linux 中国
转载自:升级 Ubuntu Linux 内核的几种不同方法 | Linux 中国 升级 Ubuntu Linux 内核的几种不同方法 | Linux 中国 译者/Ping Yang Linux 2 ...
- opensuse删除Linux内核,借助OpenSUSE的zypper源升级SLES12 的内核及相关软件
借助OpenSUSE的zypper源升级SLES12 的内核及相关软件 SLES12正式发行的内核版本号为3.12. 在SLES12中添加OpenSUSE 13.2的ypper源 vIP:~ # zy ...
- python应用如何实现升级_一种基于Python实现BMC批量升级的方法与流程
本发明涉及BMC批量升级,尤其涉及一种基于Python实现BMC批量升级的方法. 背景技术: 随着现代服务器主板技术的发展,主板设计形态复杂多变.无论是设计成本还是后期使用过程中的维护成本都很高.如何 ...
- linux升级到指定内核版本,如何在CentOS/RHEL上安装或升级新的内核版本
Linux内核是一个整体的类Unix计算机操作系统内核.通常我们使用的Linux发行版,如Red Hat.Debian.SUSE等,这些都称为Linux的分发版.一个典型的分发版,是由Linux内核, ...
- 如何在 CentOS 7 中安装或升级最新的内核
转 原创 2017-03-19 译者:geekpi Linux中国 随着新的设备和技术定期出来,如果我们想充分利用它们,保持最新的内核就很重要.此外,更新内核将帮助我们利用新的内核函数,并保护自己免受 ...
- 升级SUSE Linux内核的完整步骤!
http://blog.sina.com.cn/s/blog_491529d60100061h.html 安装完SLED 10后发现仍然有"热启动网络不通"的问题,原因是内核版本较 ...
最新文章
- fanuc机器人与plc的通讯_S7-1200PLC与FANUC机器人Profinet通讯方法
- 最简单人工智能python_Python人工智能之路 - 第四篇 : jieba gensim 最好别分家之最简单的相似度实现...
- leetcode93. 复原 IP 地址
- sign check fail: check Sign and Data Fail!-错误处理
- Gtk-WARNING : cannot open display----这个问题在NVIDIA TX2上碰到过就是DISPLAY=“:0“
- (软件工程复习核心重点)第二章可行性研究-第一节:可行性研究基本介绍
- 使用消息中间件时,如何保证消息不丢失且仅仅被消费一次
- let的解构赋值_解构赋值还有这么多玩法?
- java jsfl是什么_java基础之IO2
- android surface windows,Android易混概念辨析之Surface,Window,View,SurfaceView,Bitmap
- C#学习笔记第一篇——类进阶
- GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流
- docker相关实验
- 论文毕业设计--基于javaweb框架的个人博客系统项目毕业设计论文.doc
- haosou属于搜索引擎的_中国的搜索引擎有哪些?
- Office2007 sp补丁包安装失败解决办法
- 读书有益——》《断舍离·舍·做减法的勇气》
- resultful使用
- 适合新手小白,一个人一部手机如何做自媒体?看完我的你就懂了
- vrchat合并账号