IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    让安卓更强大的极客工具 —— Termux进阶指南

    creke发表于 2023-07-26 13:03:02
    love 0

    本文为双语,你现在阅读的是中文版。

    背景

    Termux app是一个可以在安卓上运行Terminal终端的应用,也就是说可以在安卓运行shell。
    但是整个Termux项目,不仅仅是一个终端模拟器那么简单,他包括了整套工具链,来让安卓得以把shell(bash、zsh、fish等)和各种Linux程序应用(python、perl、gcc等)跑起来,相当于拥有一整个能直接在安卓运行的apt软件仓库。
    这个apt软件仓库,是基于NDK编译的,是安卓原生支持的二进制运行方式,可以更容易移植到其他安卓app中运行。

    Termux简单使用

    下载安装

    1. 下载执行app,推荐从f-droid下载(https://f-droid.org/en/packages/com.termux/),f-droid确保apk是从对应源码编译的
    2. 安装,即装即用

    如何搜索apt仓库有哪些包?

    pkg search xx # e.g. "pkg search sh" lists all *sh* packages

    如何安装apt仓库?

    pkg install xxx

    P.S. apt命令也可以用,但还是推荐用pkg命令;技术上详细解释:pkg实际上是一个bash脚本,底层还是调用apt,但pkg会处理更多的边界条件、mirror负载均衡等逻辑。

    如何在安卓中安装python?

    pkg install python # pretty easy, right

    Termux进阶使用

    如何在安卓的python中安装pip包?

    注意:由于魔改了$HOME,pip旧版不能支持(新版可以支持)~/.pip/pip.conf的识别,所以旧版的pip.conf可能不生效

    pip install xxx
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xxx # using custom mirror
    proot -0 pip install xxx # some pip packages can't recognize the modified $HOME either, using proot to cheat and improve compabitily

    如何在安卓中安装python版opencv?

    pkg search opencv
    # we can see two packages: opencv and opencv-python

    pkg install opencv opencv-python

    # then we verify if opencv-python has been successfully installed
    python -c "import cv2; print(cv2.__version__)"
    # will output opencv's installed version

    我应该通过pip安装还是pkg安装python库?

    简单而言,如果pkg有对于的python库(使用pkg search python可以搜索所有支持的Python库),则优先用pkg;否则用备用选择是pip安装。

    Termux代码仓库介绍

    Termux项目包含有众多仓库,可在https://github.com/orgs/termux/repositories?type=all查看,下面介绍几个常用的重要的仓库。

    • https://github.com/termux/termux-app : main android repo, if you want to compile apk, using this repo is all you need
    • https://github.com/termux/termux-packages : packages scripts and patches, ~2000 packages; if you want to add your own packages, extend this repo
    • https://github.com/termux/termux-api : in short, android java/kotlin APIs as termux shell command
    • https://github.com/termux/termux-tasker : in short, cronjob or systemd tasker equivalence

    后文我们会用专题的方式,来带大家更详细的termux进阶使用指南



沪ICP备19023445号-2号
友情链接