我将我的Go源代码交叉编译为Arm以在Android中运行。该程序在Android设备的终端中运行,但是我收到一条错误消息,指出缺少/etc/resolv.conf。我的程序在进行http调用时严重依赖net / http库。
如何在Android中处理此错误?
答案 0 :(得分:4)
截至目前,您无法使用内置网络/ http连接到主机名,请查看此issue。
您可以使用的解决方法很少。
如果您具有超级用户访问权限,则会在您的程序启动时生成/etc/resolv.conf,丑陋但简单易行。
在某处存储resolv.conf并修补http://golang.org/src/pkg/net/dnsclient_unix.go#L169以使用该自定义路径。
修补程序$GOROOT/src/pkg/net/dnsconfig_unix.go
通过执行getprop net.dns1
和getprop net.dns2
来获取名称服务器。