岛屿可以找到海
岛屿可以找到海

安卓手机跑go项目

最近用gin写了一个给硅基流动deepseek用的联网、画图插件

golang的跨平台特性大家都有所耳闻,市面上的设备基本都是一键编译运行。

所以我今天基于以下两点突发奇想:

1.安卓底层也就是linux系统

2.安卓是谷歌的golang也是谷歌的,会不会有什么彩蛋呢

先编译一个二进制文件试试,成功~

GOOS=android GOARCH=arm64 go build

然后手机上安装了一个Termux,测试了一下基本命令完全OK

然后发现Termux并不能读到手机的目录,ai回答如下

如果你想让 Termux 访问手机上的文件(例如照片、音乐、下载的文件等),可以通过 Termux 的 存储权限 来实现。Android 对应用的存储访问有严格限制,但 Termux 提供了一个简单的方式来访问手机的共享存储。

以下是具体步骤:


步骤 1:授予 Termux 存储权限

  1. 打开 Termux。
  2. 运行以下命令:
termux-setup-storage、

系统会弹出一个权限请求,点击 允许,授予 Termux 访问存储的权限。


步骤 2:访问手机文件

完成上述步骤后,Termux 会在 ~/storage 目录下创建一些符号链接,指向手机的共享存储。以下是默认的目录结构:

Termux 路径对应的手机存储路径
~/storage/shared/Download内部存储/Download
~/storage/shared/Documents内部存储/Documents
~/storage/shared/Music内部存储/Music
~/storage/shared/Pictures内部存储/Pictures
~/storage/shared/DCIM内部存储/DCIM(相机照片)
~/storage/shared/Movies内部存储/Movies

然后发现此时Termux可以访问到手机Downloads目录了,然后将二进制文件放在这个文件下,测试执行

然后又报错:bash: ./searchOnlinePlug: Permission denied

得知这个目录无法执行程序,好吧,又把程序移动到根目录下

cp /data/data/com.termux/files/home/storage/downloads/searchOnlinePlug ~/

此时距离运行还差一个env文件,使用vim创建然后提示需要安装vim

apk install vim

然后将配置文件粘贴进去,保存,运行可执行文件

https://cdn.dykyzdh.cn/wp-content/uploads/2025/02/WechatIMG1349-1024x789.png
https://cdn.dykyzdh.cn/wp-content/uploads/2025/02/WechatIMG1350-1024x765.png

可以看到gin项目成功运行了,浏览器测试服务也成功跑了

岛屿可以找到海

安卓手机跑go项目
最近用gin写了一个给硅基流动deepseek用的联网、画图插件 golang的跨平台特性大家都有所耳闻,市面上的设备基本都是一键编译运行。 所以我今天基于以下两点突发奇想: 1.安卓底…
扫描二维码继续阅读
2025-02-28