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