为什么Android JNI代码与具有相同命令的adb shell有不同的结果?

时间:2017-07-27 10:26:26

标签: android

我正在尝试使用以下代码获取Android网络统计信息:

string cmd = "cat /proc/net/xt_qtaguid/stats";
string info = Utils::exec(cmd);

它仅返回信息表的headers,如:

idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets

但是当我通过adb shell cat /proc/net/xt_qtaguid/stats执行此命令时,结果同样正常。

我该如何处理这个问题?我需要根我的手机吗?

修改

adb shell id的输出:

uid=2000(shell) gid=2000(shell) groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats) context=u:r:shell:s0

0 个答案:

没有答案