安卓手机上的终端模拟器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
小结
直接操作调动系统底层的话,可以通过编程来实现自动定时短信发送,语音播报等

相关文章
|
26天前
|
开发工具 Android开发
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
113 4
解决Android运行出现NDK at /Library/Android/sdk/ndk-bundle did not have a source.properties file
|
3月前
|
Java API 开发工具
如何将python应用编译到android运行
【6月更文挑战第27天】本文介绍在Ubuntu 20上搭建Android开发环境,包括安装JRE/JDK,设置环境变量,添加i386架构,安装依赖和编译工具。并通过`p4a`命令行工具进行apk构建和清理。
58 6
如何将python应用编译到android运行
|
26天前
|
Android开发 iOS开发
[ionic]解决运行Android、IOS出现Could not find the web assets directory
[ionic]解决运行Android、IOS出现Could not find the web assets directory
25 1
|
8天前
|
Android开发 Swift iOS开发
探索Android和iOS开发的差异性与互补性深入浅出Python装饰器
【8月更文挑战第30天】在移动应用开发的广阔天地中,Android和iOS两大平台以其独特的魅力和技术架构引领潮流。本文将深入探讨这两个平台的开发环境、编程语言和用户界面设计等方面的不同之处,并揭示它们之间的互补性。通过比较分析,我们将发现每个平台的核心优势,以及如何将这些优势融合到跨平台开发策略中,为开发者提供全面的视角和实用的建议。
|
14天前
|
Android开发
【Azure 环境】记录使用Notification Hub,安卓手机收不到Push通知时的错误,Error_Code 30602 or 30608
【Azure 环境】记录使用Notification Hub,安卓手机收不到Push通知时的错误,Error_Code 30602 or 30608
|
2月前
|
Linux Python Windows
在终端怎么升级python
Windows上,使用`Win+R`打开命令行,运行`cmd`,然后用`python -m ensurepip --upgrade`更新pip。通常需从官网下载安装新版本Python。验证版本用`python --version`。 Mac/Linux,打开终端,用`conda update python`(Anaconda/Miniconda环境)或手动下载安装新版本。 验证版本:`python3 --version`或`python --version`。
55 9
|
25天前
|
IDE Linux 开发工具
涨见识了,在终端执行 Python 代码的 6 种方式!
涨见识了,在终端执行 Python 代码的 6 种方式!
26 0
|
2月前
|
存储 移动开发 Android开发
使用kotlin Jetpack Compose框架开发安卓app, webview中h5如何访问手机存储上传文件
在Kotlin和Jetpack Compose中,集成WebView以支持HTML5页面访问手机存储及上传音频文件涉及关键步骤:1) 添加`READ_EXTERNAL_STORAGE`和`WRITE_EXTERNAL_STORAGE`权限,考虑Android 11的分区存储;2) 配置WebView允许JavaScript和文件访问,启用`javaScriptEnabled`、`allowFileAccess`等设置;3) HTML5页面使用`<input type="file">`让用户选择文件,利用File API;
|
1月前
|
Java Android开发 UED
安卓scheme_url调端:如果手机上多个app都注册了 http或者https 的 intent。 调端的时候,调起哪个app呢?
当多个Android应用注册了相同的URL Scheme(如http或https)时,系统会在尝试打开这类链接时展示一个选择对话框,让用户挑选偏好应用。若用户选择“始终”使用某个应用,则后续相同链接将直接由该应用处理,无需再次选择。本文以App A与App B为例,展示了如何在`AndroidManifest.xml`中配置对http与https的支持,并提供了从其他应用发起调用的示例代码。此外,还讨论了如何在系统设置中管理这些默认应用选择,以及建议开发者为避免冲突应注册更独特的Scheme。
下一篇
DDNS