Go编译android,go语言的程序跑在android上

博主将之前的Golang检查页面程序编译到Android上测试。因Windows上无法产生5g,转到Linux编译,编译后再到Windows测试。编译时可通过配置环境变量简化操作。测试时程序报错找不到DNS配置文件,手动创建DNS配置文件后运行成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前写了一个检查页面的golang程序http://www.simonzhang.net/?p=1346。就用这个测试一下放到android上看看效果如何。但是我在windows上的golang还是产生不了5g。我就直接到linux上编译,但是linux上使用adb又不方便,只能是编译后在转到windows上测试。好在我的linux是跑在虚拟机上,处理起来还算方便。为了编译和测试方便,我又编译了一个androidgo放在/usr/local/下,在搞个用户把环境变量配成arm的。也可以直接CGO_ENABLED=0 GOOS=linux GOARCH=arm go build android-check-url.go 编译,就不用这么麻烦了。

开始,还是用之前的代码没有进行修改。开始进行编译。代码从http://www.simonzhang.net/?p=1346里拷贝。

# go tool 5g android-checl-url

# go tool 5l android-check-url.5

# mv 5.out android-check-url

900fc6dcbaf2f7fdea196d50867b30ed.png

图a

将编译好的大文件(2.7M)放到E:盘中。然后放到手机上测试。

>adb push E:\android-check-url /data/local

>adb push E:\url.txt /data/local

>adb shell

#cd /data/local

#chmod 755 android-check-url

#./android-check-url

出错了

Get http://www.simonzhang.net: error reading DNS config: open /etc/resolv.conf: no such file or directory

panic: runtime error: invalid memory address or nil pointer dereference

[signal 0xb code=0x1 addr=0x20 pc=0x11174]

goroutine 1 [running]:

main.main()

/root/android-go/android-check-url.go:31 +0x574

goroutine 2 [syscall]:

created by runtime.main

/usr/local/go/src/pkg/runtime/proc.c:221

#

6dc891634dd5c93261479f561bc1d5c7.png

图b

报错显示找不到dns的配置文件。很是奇怪那现在的程序是怎么解析的。这个先不搞清楚了,先手动建个dns的配置文件,只用google的dns进行解析(这个操作也是参考一个国外的帖子,但是浏览器不小心关掉了所以不能贴出地址)。

c56fff49e98e75e70e65b33d287582c9.png

图c

再次进入手机运行程序。运行成功

f1decdea227e926b1faf394556276889.png

图d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值