疫情期间让人们线上办公需求激增,进而刺激了平板市场的繁荣发展。从最开始 Android 平板厂商推出敷衍品以匆忙应战到现在每个厂商都各具特色,Android 平板似乎也终于摆脱了“敷衍”的印象,一度让人们以为 Android 平板支棱起来了。

上社交平台看看自媒体都测评,几乎每个测评都说——Android 平板终于起飞了,无脑买 iPad 的时代终于过去了!

于是按耐不住心动,买了一台 Android 平板,结果发现:要码代码没有相关工具,要剪辑只有某映,要平板适配只有多窗格布局(或称平行视界),结果平板横屏打开 QQ——怎么发图片时给我强制竖屏了呢?

也许完美适配平板的只有影音视听软件,因为适配平板和他们的利益紧密相关。

被 Android 平板软件生态气殒……

但依旧如此糟糕的 Android 生态却并不能阻挡 Android 硬件成长的势头,据 canalys 数据,2023 年第一季度全球平板出货量,非 Apple 设备占据了近 60% 的市场出货量份额。1

非 Apple 设备占据了近 60% 的市场出货量份额

也许在购买 Android 平板后发现 iPadOS 吊打 Android,也许认为 Android 平板仍然食之无味弃之可惜,最后只有在泡方便面时才想得到还有一块平整的板子与方便面桶口完美吻合……

iPad 还有 Apple 官方支持的 Swift Playgrounds 呢

但假设有一天你在度假,没有携带笔记本电脑,这时你的上司打来电话——有客户反馈说功能有点问题,你抽空改一下——你举目四望,只有你的手机和 Android 平板在你身边陪伴你不离不弃,感谢你顺手还拿了 Android 平板配套键盘,但缺失开发环境该怎么办(假设公司没有部署内网云端开发环境)?

在你的 Android 平板电脑使用 Codecode-server

在你的 Android 平板电脑使用 Code

初次使用

以下内容均需要快速稳定的网络环境。

这里给出的方案基于 Termux。Termux是一个 Android 上的终端和 Linux 环境模拟器。它能够帮助我们在 Android 上模拟 Linux 环境。

此外,配置完成后的 code-server 将基于 Android 平板所使用的 SoC 架构,大部分手机 SoC 架构都是 Arm,请留意你需要的开发环境对 Arm 架构和 x86 架构之间的区别

配置 Termux 相关环境

首先,在 F-Droid 中下载 Termux 软件:https://f-droid.org/zh_Hans/packages/com.termux/

下载完成后,打开 Termux 软件2,输入下列命令安装 OpenSSL 和 Ubuntu 环境:

请注意,这一步执行后可能出现“What would you like to do about it?”选项,看到后请输入“Y”并回车。

看到后请输入“Y”并回车
pkg install wget openssl-tool proot -y
hash -r
wget https://raw.githubusercontent.com/EXALAB/AnLinux-Resources/master/Scripts/Installer/Ubuntu/ubuntu.sh
bash ubuntu.sh

然后,输入此命令以启动 Ubuntu 环境:

./start-ubuntu.sh

进入 Ubuntu 环境后,输入下列命令下载并解压 code-server

apt update && apt upgrade

请注意替换尖括号及其内容为相应版本号,例如:wget https://github.com/coder/code-server/releases/download/v4.15.0/code-server-4.15.0-linux-arm64.tar.gz

wget https://github.com/coder/code-server/releases/download/<VERSION>/code-server-<VERSION>-linux-arm64.tar.gz

请注意替换尖括号及其内容为相应版本号,例如:tar -xvf ./code-server-4.15.0-linux-arm64.tar.gz

tar -xvf ./code-server-<VERSION>-linux-arm64.tar.gz

移动到解压后目录:

请注意替换尖括号及其内容为相应版本号,例如:cd code-server-4.15.0-linux-arm64/bin

cd code-server-<VERSION>-linux-arm64/bin

输入以下命令设置进入 code-server 的临时密码:

请注意替换尖括号及其内容为你设置的密码。

export PASSWORD="<PASSWORD>"

启动 code-server:

./code-server

打开浏览器,输入 127.0.0.1:8080 ,再输入你设置的密码,即可进入 code-server

你会发现这里的 code-server 和在桌面操作系统上运行的 VS Code 几乎一模一样,可以下载语言包,也能够运行终端。

大部分主流开发环境都支持 Arm 架构,具体开发环境需要基于你的需求进行配置,这里不再描述。

但你这时会发现一个问题:我平板已经很扁了,浏览器窗口的标题栏加上后岂不是更扁?

岂不是更扁?

用 Android WebView 优化窗口显示

为了解决这个问题,我写了一个 Android WebView 套壳软件3,网站指向 127.0.0.1:8080,去掉了绝大多数挤占窗口的布局。(如果发现问题,欢迎提交 issue 或 PR。)

前往 https://github.com/ArcticFoxPro/Use-Code-on-Your-Android-Tablet/,在此仓库的发行版中下载 8080 软件,也可自行编译。

下载完成后直接打开即可。

去掉了绝大多数挤占窗口的东西

后续使用

当你划掉 Termux 后台后,Termux 本地下载的配置也不会消失。

因此,如果你日后想继续使用,请打开 Termux,依次运行以下命令:

./start-ubuntu.sh

请注意替换尖括号及其内容为相应版本号。

cd code-server-<VERSION>-linux-arm64/bin

请注意替换尖括号及其内容为你设置的密码。

export PASSWORD="<PASSWORD>"
./code-server

然后打开 8080 软件即可。

附加说明

  1. 由于 Termux 的文件保存在私有目录(data/data)中,非 root 设备无法进入,因此可以通过在 Ubuntu 环境下安装各种使用 SSH、Web-based 等方式的服务器管理工具进行文件管理。
  2. code-server 的永久密码存放在 Ubuntu 环境的 ~/.config/code-server/config.yamlpassword 中,更改 password 即可更改永久密码。
  3. code-server 的全部配置均存放在 Ubuntu 环境的 ~/.local/share/code-server 中而非 code-server 本身,因此,升级或更改 code-server 自身并不会丢失配置。

这是我第一次在少数派写文章,如有纰漏还请多多包涵。(很内向,注册1600多天只敢发一篇文章)