怎样在安卓上运行python,以root权限修改系统文件

 

“人生苦短,我用python”

python丰富的开发库确实为广大使用者缩减了大量的开发时间。小ming没事用python跑个自动化脚本,枯燥乏味的工作就让电脑帮忙做。

怎样在安卓上运行python

出于各种原因,电脑是不能一直开着的。那么能否在手机上运行python呢?答案是肯定的。这里安利一款神器:termux。看名字可以猜到,termux是运行在安卓系统上的终端模拟器和linux运行环境。虽然是叫模拟器,但是无法掩盖他的强大,在这个app里面可以安装linux图形操作系统,这个操作系统又能够安装其他linux软件,只要手机配置足够,理论termux上能做一切linux能做的事情。所以安装python当然是不在话下。

termux安装配置

小ming在这帮大家排个坑,国内各大市场下载的termux安装包普遍会出现unable to install错误提示,所以建议还是去playstore或者f-droid上下载。

 

f-droid 版的termux网盘下载地址

出现welcome to termux表示安装成功了

 

termux安装python

点击屏幕弹出键盘,输入代码,或者长按粘贴

pkg install python -y

termux会从服务器下载python 最新版自动安装上,这里和linux终端安装命令是一致的,并且有种熟悉的感觉,pip安装其他python模块的时候,也是类似的安装方式。安装完成后,输入python,就出现熟悉的 python console界面,可以试一下

print('hello world')

看下是不是成功打印出来了。

以root权限修改系统文件

也许很多同学都用过这段代码去读写文件:

with open('test.txt','w') as f:
    f.write('string')

其实在termux环境下这段代码同样可以起作用,并且在当前工作目录生成test.txt文件。可是当目标文件处于安卓系统区域的话,运行会提示没有权限。这个时候就得获取root权限了。前提是手机系统要先root

安装tsu,通过管理员权限运行python

apt install tsu

其实输入su是可以直接进入管理员模式的,不过这个太鸡肋了,很多命令运行不了,显示python等等未安装。tsu修复了这一系列问题。

输入 tsu ,同时弹出获取root权限提示窗,允许termux获取root权限,可以进入管理模式,然后直接输入python进入console,或者带上.py文件的文件路径直接运行python脚本也是可以的。这种方式运行的python就有权限去访问data/data/app中的数据了。

termux访问手机文件,首先输入命令

termux-setup-storage

弹出读取手机存储照片权限,点击同意。termux会在/data/data/com.termux/files/home/目录中生成storage目录,里面有个shared目录其实就是/sdcard/的软连接就能看到手机存储卡中的文件

cd storage/shared ls

如果test.py文件放在/emulate/0/或者/sdcard/下面,这时要运行test.py就输入:

python /sdcard/test.py

如果test.py文件放在/data/data/com.termux/files/home/目录下,这时要运行test.py,普通就输入:

python ~/test

su模式,有点麻烦:

cd ~ 
cd ../ 
python ~/test.py

这里说下termux下工作路径问题:

正常模式也就是显示$符号的时候,输入pwd 或者~

显示的目录是:/data/data/com.termux/files/home/

tsu模式,输入~

显示的目录是:/data/data/com.termux/files/home/.suroot

所以放到sdcard/最方便了。运行python读取文件的时候也要注意切换到su模式后工作路径的变化。在su模式下,可以尝试对/data/data/等目录下的文件进行读写操作,是不是跟读写普通文件一样游刃有余?有想法的同学可以自己写一些脚本去控制其他app了。暂时没有想到有趣的例子。小ming目前主要用python脚本从网上爬取免费的vmess结点然后自动更新到app的配置文件。

效果还是不错的。

以后有机会更新吧……

python调用安卓api

首先安装Termux:API.apk到安卓系统中,下载地址

官网提示不要在Google Play 和 F-Droid 之间混合安装Termux 和 插件。

之后在termux 中键入命令

pkg install termux-api

安装完成后,就能执行相关的api命令了,比如

termux-clipboard-set hello world

如果是python脚本,也很简单

import os

os.system('termux-clipboard-set hello world')

这时候切出去找个地方长按粘贴,看下是不是"hello world"。更多的api可以去参考Termux:API官方文档

在手机上编写python脚本

小ming一般不会有如此疯狂的操作。会用vim的朋友可以在termux中安装vim,或vim-python:

pkg install vim-python

运行vim编写home目录下test.py文件

vim ./test.py

其实还可以安装Ubuntu等图形操作系统,然后可以安装vscode...

总归码代码还是电脑爽些。

结尾

这篇到此为止了,主要讲了用termux终端在安卓系统运行python,当然qpython也是个不错的选择。不过居然已经用上了强大的termux,自然而然想去了解termux其他用法,后续会跟新一些termux相关的话题

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值