八块钱的无线鼠标?试试水有多深!

最近有买个鼠标的需求,先去闲鱼逛了一圈,发现一款无线鼠标才8块钱,立马吸引了我的注意力:
Screenshot_20250819_214219.jpg
点进去一看,“功能状态”写的是“功能完好”:
Screenshot_20250819_215700.jpg
同时评论区大部分都是好评,只有少数差评说质量有各种问题:
Screenshot_20250819_220223.jpg
本着贪便宜,啊不是,“我不入地狱,谁入地狱”的原则,反手一个下单,准备试试这玩意儿的水。
昨天(8 月 23 日周六)到手,拆开发现还送了个黑漆漆的鼠标垫。以为是充电式的,结果拆开后盖一看,明显靠两节 1.5 V 电池驱动。同时 USB 插口也放在电池槽里。
简单用了一下,目前没发现什么问题。

在 Linux Mint 上安装 Android NDK

要为 Android 交叉编译各种程序,就不得不安装 Android NDK。

准备

  1. 至少 2GB 的可用存储空间
  2. 稳定的网络环境

下载

使用浏览器从官网下载

访问 NDK 下载页面,找到合适的 NDK 版本(比如 r27c),点击链接下载 zip 文件。

通过命令行下载

1
wget "https://dl.google.com/android/repository/android-ndk-[andrid_ndk_version]-linux-x86_64.zip"

其中 [andrid_ndk_version] 替换为所要下载的 NDK 版本,例如 r20。

安装

解压

cd 到 zip 文件所在位置,然后:

1
unzip android-ndk-[ndk_version]-linux-x86_64.zip

其中 [ndk_version] 为 NDK 版本。

安装编译链

如果需要编译的程序依赖于其他库,那就需要安装编译链(GO 语言编写的多数程序除外),安装编译链的命令为:

1
[android_ndk_root]/build/tools/make-standalone-toolchain.sh --arch=[arch] --platform=[platform] --install-dir=[install_dir]

其中,[android_ndk_root] 为解压后的 Android NDK 所在的目录,[arch] 为目标架构(如 arm64),[platform] 为 目标平台(如 android-21 表示 API 版本 为 21(Android 5.0)的 Android 平台,以此类推),[install_dir] 为编译链安装位置(如 ~/android-arm64)。
注意:安装编译链前需先安装 python-is-python3python3-distutils-extra,否则会报错:

1
apt install python-is-python3 python3-distutils-extra

设置环境变量

1
2
export PATH="$PATH:[android_ndk_root]:[android_toolchain_path]/bin"
echo "export PATH=\"$PATH:[android_ndk_root]:[android_toolchain_path]/bin\"" >> ~/.bashrc

其中 [android_ndk_root] 的含义见上文,[android_toolchain_path] 为所安装的编译链所在位置。

在 Termux 上编译安装 Caddy

Termux 官方源中的 Caddy 不包括非标准模块,如果需要包含非标准模块,就需要自己编译。

准备

  1. 需要参考这篇文章,安装 xcaddy。
  2. 需要一个稳定的梯子/节点。

编译

不包含非标准模块:

1
xcaddy build

包含非标准模块 replace-response:

1
2
xcaddy build \
--with github.com/caddyserver/replace-response

编译过程中以及编译结束手机可能会卡顿,属正常现象。

安装

编译好的 Caddy 位于 $HOME/go/bin/caddy,使用 cp 命令将其复制到 Termux 的 bin 目录:

1
cp $HOME/go/bin/caddy $PREFIX/bin/

测试

运行 caddy version,如果输出类似如下,则说明安装完成:

1
v2.10.0 h1:fonubSaQKF1YANl8TXqGcn4IbIRUDdfAkpcsfI/vX5U=

在 Termux 上编译安装 xcaddy

虽然 Caddy 在 Termux 的官方源中,但是官方源的 Caddy 不包含任何非标准模块。同时,目前官方源中并不包括 xcaddy 。因此,要获得含有非标准模块的 Caddy,就需要先编译安装 xcaddy。

准备

编译 xcaddy 前,需要先安装 golang:

1
pkg install golang -y

同时,还需要准备足够的存储空间(至少 10 MB)和运行内存。

编译

执行这条命令:

1
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest

输出很少,长这样:

1
2
3
4
5
6
7
go: downloading github.com/caddyserver/xcaddy v0.4.5
go: downloading github.com/spf13/cobra v1.9.1
go: downloading github.com/Masterminds/semver/v3 v3.4.0
go: downloading github.com/josephspurrier/goversioninfo v1.5.0
go: downloading github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
go: downloading github.com/spf13/pflag v1.0.6
go: downloading github.com/akavel/rsrc v0.10.2

没有意外的话,输出就这些。

安装

编译好的 xcaddy 位于 $HOME/go/bin/xcaddy,使用 cp 命令将其复制到 Termux 的 bin 目录:

1
cp $HOME/go/bin/xcaddy $PREFIX/bin/

测试

运行 xcaddy ,如果输出如下所示则安装成功:

1
2
3
go: cannot match "all": go.mod file not found in current directory or any parent directory; see 'go help modules'
Error: exec 0x5abfcaa8c0: exit status 1:
exec 0x5abfcaa8c0: exit status 1:

大功告成。