记一次用Termux与Acode搭建开发环境
本文主要记录我用Termux与Acode搭建OI环境的过程,但也是一篇教程。按照此方法不仅可以搭建OI环境,只要能在Termux运行的理论上都能开发,文中如有错误请在评论区指出。
我对OI环境的要求不高,只需要能编译运行c++单文件就行了。Acode可以用作代码编辑器,Termux可以用作运行环境。由于国内网络原因,只能从Github下载这两个软件。
Acode官方仓库: https://github.com/Acode-Foundation/Acode

Termux官方仓库: https://github.com/termux/termux-app
一开始我尝试的是Acode最受欢迎的插件——AcodeX提供的解决方案:在Termux里运行nodejs,然后安装他们提供的包,这些包会与Acode中的插件通信。
AcodeX官方插件页面: https://acode.app/plugin/bajrangcoder.acodex
但这给我一种杀鸡用牛刀的感觉,没必要。
我尝试的第二种方案是不使用任何插件。Acode支持SAF(Storage Access Framework),所以可以访问Termux内部储存。
关于Termux的储存,可以查看其官方wiki的页面: https://wiki.termux.com/wiki/Internal_and_external_storage
但每次都输入命令才能运行代码很麻烦。所以我把命令写在一个.sh文件里,又建了登录运行的.profile文件,里面定义了别名。
#runcpp.sh
clang++ main.cpp -std=c++26
./a.out
rm a.out
#.profile
alias r="sh runcpp.sh"
alias
#最后一行alias可以提醒我有哪些别名
现在我只需要输入一个r就可以运行了!
但这种方法仍有问题。SAF只能在Termux运行的时候用,Termux没运行的时候就无法编辑代码,所以我将源代码的储存位置移到了Acode随时可以访问的公共目录。我还开始使用clang-format进行格式化。后来又发现segmentation fault不显示,于是使用了exec。
#runcpp.sh
clang-format -i ~/storage/downloads/Workspace/main.cpp
clang++ ~/storage/downloads/Workspace/main.cpp -std=c++26&&exec ./a.out
Termux有一个叫Termux:Float的插件,可以在悬浮窗里运行Termux,这样就不用每次都要把Acode切后台了。
Termux:Float官方仓库: https://github.com/termux/termux-float
Termux默认的motd很长,所以我又把motd大部分都删了。motd的位置在~/../usr/etc/motd
最终效果如图:

最后特别感谢一篇Bilibili上的小天才T1平板安装任意第三方app教程。如果没有这篇教程,我不可能在我的垃圾平板上做出这些东西: https://www.bilibili.com/opus/917310662620741632
== 更新 ==
每次都要输入r才能运行依然很麻烦,好在Termux可以自定义按键,使用这样的按键配置可以实现一键运行:{macro: "r\n", display: 运行main.cpp}
下面是我目前使用的termux.properties文件:
extra-keys = [['ESC','CTRL','ALT','TAB','SHIFT','UP','DOWN',{macro: "r\n", display: 运行main.cpp}]
本文来自博客园,作者:145a,转载请注明原文链接:https://www.cnblogs.com/145a/p/18653133
浙公网安备 33010602011771号