在Android上执行时发生了错误
Closed this issue · 7 comments
x1q:/data/local/tmp $ ./natmap-linux-arm64 -s stunserver.stunprotocol.org -h example.com -b 80
[E] get_addr src/hev-sock.c:40
[E] hev_sock_client_tcp src/hev-sock.c:125
[E] tnsk_run src/hev-tnsk.c:103 Start TCP keep-alive service failed.
[E] get_addr src/hev-sock.c:40
[E] hev_sock_client_tcp src/hev-sock.c:125
[E] tnsk_run src/hev-tnsk.c:103 Start TCP keep-alive service failed.
[E] get_addr src/hev-sock.c:40
[E] hev_sock_client_tcp src/hev-sock.c:125
[E] tnsk_run src/hev-tnsk.c:103 Start TCP keep-alive service failed.
^C
Android9 和13都是这样,adb shell中执行,没有root权限
adb shell没有权限访问网络解析域名?
adb shell没有权限访问网络解析域名?
可以的
newton:/data/local/tmp $ wget www.baidu.com
Connecting to www.baidu.com (183.2.172.185:80)
index.html 100% |***********************************************************************| 2381 0:00:00 ETA
newton:/data/local/tmp $
newton:/data/local/tmp $ nslookup baidu.com
Server: 0.0.0.0
Address 1: 0.0.0.0
Name: baidu.com
Address 1: 110.242.68.66
Address 2: 39.156.66.10
试试将wget或nslookup拷贝到/data/local/tmp目录看看还有没有权限。
试试将wget或nslookup拷贝到/data/local/tmp目录看看还有没有权限。
在目录下的
1|newton:/data/local/tmp $ ./nslookup baidu.com
Server: 0.0.0.0
Address 1: 0.0.0.0
Name: baidu.com
Address 1: 39.156.66.10
Address 2: 110.242.68.66
newton:/data/local/tmp $ l nslookup
-rwxr-xr-x 1 shell shell 676K 2024-02-25 13:46 nslookup
好的,我找个环境测试下。
确认了由CI构建出的静态链接了musl libc的版本无法直接在Android系统上使用。有两个解决方法:
- 安装Termux,在Android上原生编译。
- 使用Android NDK在开发环境上交叉编译。
确认了由CI构建出的静态链接了musl libc的版本无法直接在Android系统上使用。有两个解决方法:
- 安装Termux,在Android上原生编译。
- 使用Android NDK在开发环境上交叉编译。
我手动ndk编译可以用了,感谢