安卓手机上的终端模拟器Termux,实现了在手机上运行python

简介: 安卓手机上的终端模拟器Termux,可以在手机上运行python

​
之前安卓版本还是6的时候,就使用过termux在手机上跑程序,并写过一篇文章;现在安卓版本升级了,再次安装termux终端时,发现比以前方便多了;

  1. Termux 终端

 Termux 是一款Android 终端模拟器和 Linux 环境应用程序,无需 root 或设置即可直接运行。自动安装最小的基本系统 - 使用 APT 包管理器可以使用其他包。
官网地址:下载apk

  1. Termux终端有很多优秀的特性:

Termux有针对手机输入优化的键盘显示,长按KEYBOARD选项可打开该功能
Termux维护着适合Android的库,并自带包管理器apt
因此,在Android上使用Termux终端和在Linux上使用终端一样方便。

  1. 安装完Termux后你有以下几个步骤需要完成:
    到手机设置中开启 Termux 的存储权限,否则在Termux终端无法访问内部存储
    修改Termux的源地址(可选,)
    升级包

修改源:执行以下命令:

cd /
export EDITOR=vi
apt edit-sources 

源列表的一般格式为:

# The main termux repository
deb https://termux.net stable main

国内清华维护的源服务器: 不建议用

## 修改后
# The main termux repository
# deb https://termux.net stable main
deb https://mirrors.tuna.tsinghua.edu.cn/termux stable main

保存命令: ctrl+O

更新包命令:
apt update
apt upgrade

3. Python环境部署

安装python3
pkg instll python
安装完成后,使用python命令启动python 3.6.5环境.
升级pip版本
python -m pip install --upgrade pip
pip版本查看

ipython
ipython是一个python的交互式shell,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。学习ipython将会让我们以一种更高的效率来使用python。先安装clang,否则直接使用pip安装ipython会失败报错.
pkg install clang
pip install ipython
然后分别使用ipython和ipython2进入py2和py3控制台:

编辑器
终端下有vim神器,并且官方也已经封装了vim-python,对vim进行了Python相关的优化.
pkg install vim-python
 
使用技巧:

显示扩展功能按键
方法一
从左向右滑动,显示隐藏式导航栏,长按左下角的KEYBOARD.
方法二
使用Termux快捷键:音量++Q键
常用快捷键
Ctrl键是终端用户常用的按键 – 但大多数触摸键盘都没有这个按键。为此,Termux使用音量减小按钮来模拟Ctrl键。 
例如,在触摸键盘上按音量减小+ L发送与在硬件键盘上按Ctrl + L相同的输入。

Ctrl+A -> 将光标移动到行首
Ctrl+C -> 中止当前进程
Ctrl+D -> 注销终端会话
Ctrl+E -> 将光标移动到行尾
Ctrl+K -> 从光标删除到行尾
Ctrl+L -> 清除终端
Ctrl+Z -> 挂起(发送SIGTSTP到)当前进程
音量加键也可以作为产生特定输入的特殊键.

音量加+E -> Esc键
音量加+T -> Tab键
音量加+1 -> F1(和音量增加+ 2→F2等)
音量加+0 -> F10
音量加+B -> Alt + B,使用readline时返回一个单词
音量加+F -> Alt + F,使用readline时转发一个单词
音量加+X -> Alt+X
音量加+W -> 向上箭头键
音量加+A -> 向左箭头键
音量加+S -> 向下箭头键
音量加+D -> 向右箭头键
音量加+L -> | (管道字符)
音量加+H -> 〜(波浪号字符)
音量加+U -> _ (下划线字符)
音量加+P -> 上一页
音量加+N -> 下一页
音量加+. -> Ctrl + \(SIGQUIT)
音量加+V -> 显示音量控制
音量加+Q -> 显示额外的按键视图

基本命令
Termux除了支持apt命令外,还在此基础上封装了pkg命令,pkg命令向下兼容apt命令.apt命令大家应该都比较熟悉了,这里直接简单的介绍下pkg命令:

pkg search 搜索包
pkg install 安装包
pkg uninstall 卸载包
pkg reinstall 重新安装包
pkg update 更新源
pkg upgrade 升级软件包
pkg list-all 列出可供安装的所有包
pkg list-installed 列出已经安装的包
pkg shoe 显示某个包的详细信息
pkg files 显示某个包的相关文件夹路径
目录环境结构
~ > echo $HOME /data/data/com.termux/files/home
~ > echo $PREFIX /data/data/com.termux/files/usr
~ > echo $TMPPREFIX /data/data/com.termux/files/usr/tmp/zsh

Termux-api
Termux:API,用于访问手机硬件,实现更多的可玩性,可以实现如下等功能:

访问电池信息
获取相机设备信息
获取本机设备信息
获取设置剪贴板信息
获取通讯录信息
获取设置手机短信
拨打号码
振动设备
安装Termux-api
安装Termux-api软件包安装完Termux-apiAPP后,Termux里面必须安装对应的包后才可以实现操作手机底层.
pkg install termux-api
下面只列举一些可能会用到的,想要获取更多关于Termux-api的话,那就去参考官方文档.

获取电池信息
termux-battery-status
可以看到电池的-健康状况-电量百分比-温度情况等

{
"health": "GOOD",
"percentage": 67,
"plugged": "UNPLUGGED",
"status": "DISCHARGING",
"temperature": 24.600000381469727
}
获取相机信息
termux-camera-info
获取与设置剪贴板
查看当前剪贴板内容

termux-clipboard-get
设置新的剪贴板内容

termux-clipboard-set 000
获取通讯录列表
termux-contact-list
查看短信内容列表
termux-sms-inbox

转存失败
重新上传
取消

发送短信
termux-sms-send
支持同时发送多个号码,实现群发的效果,官方介绍如下:

termux-sms-send -n number(s) recipient number(s) - separate multiple numbers by commas
发送测试

termux-sms-send -n 10001 cxll
拨打电话
termux-telephony-call
拨打电话给10001中国电信,查看下话费有没有欠费~?

termux-telephony-call 10001
WiFi相关
获取当前WiFi连接信息

termux-wifi-connectioninfo
获取最近一次WiFi扫描信息

termux-wifi-scaninfo
小结
直接操作调动系统底层的话,可以通过编程来实现自动定时短信发送,语音播报等

相关文章
|
机器学习/深度学习 数据采集 人工智能
Phi-3 技术报告:手机本地运行的高能力语言模型
Phi-3系列模型通过高质量数据训练与架构创新,实现小体积、高性能。38亿参数的phi-3-mini在手机端可达GPT-3.5水平,支持长上下文、多模态与高效推理,推动AI普惠化。
1229 1
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的商城管理系统源码+运行步骤
基于Python+Vue开发的商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的网上商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
685 7
|
存储 API Android开发
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
1150 4
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
20085 81
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
Rust JavaScript 前端开发
[oeasy]python075_什么是_动态类型_静态类型_强类型_弱类型_编译_运行
本文探讨了编程语言中的动态类型与静态类型、强类型与弱类型的概念。通过实例分析,如Python允许变量类型动态变化(如`age`从整型变为字符串),而C语言一旦声明变量类型则不可更改,体现了动态与静态类型的差异。此外,文章还对比了强类型(如Python,不允许隐式类型转换)和弱类型(如JavaScript,支持自动类型转换)的特点。最后总结指出,Python属于动态类型、强类型语言,对初学者友好但需注意类型混淆,并预告下期内容及提供学习资源链接。
529 21
|
前端开发 JavaScript 关系型数据库
基于python的租房网站-房屋出租租赁系统(python+django+vue)源码+运行
该项目是基于python/django/vue开发的房屋租赁系统/租房平台,作为本学期的课程作业作品。欢迎大家提出宝贵建议。
843 6
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
2444 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的美容预约管理系统源码+运行
基于Python+Vue开发的美容预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的美容诊所预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
295 9
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的摄影网上预约管理系统源码+运行
基于Python+Vue开发的摄影网上预约管理系统(前后端分离),影楼婚纱摄影,这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的在线摄影预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
360 8
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的民宿客房预订管理系统源码运行
基于Python+Vue开发的民宿客房预订管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的民宿客房预订管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
385 8

推荐镜像

更多