古人已用三冬足,年少今开万卷余。这篇文章主要讲述调用Linux的busybox,通过linux命令来获取AndRoidIP相关的知识,希望能为你提供帮助。
【调用Linux的busybox,通过linux命令来获取AndRoidIP】//根据busybox获取本地Mac
public static String getLocalMacAddressFromBusybox(){
String result = "";
String Mac = "";
result = callCmd("busybox ifconfig","HWaddr");
//如果返回的result == null,则说明网络不可取
if(result==null){
return "网络出错,请检查网络";
}
//对该行数据进行解析
//例如:eth0Link encap:EthernetHWaddr 00:16:E8:3E:DF:67
if(result.length()>
0 &
&
result.contains("HWaddr")==true){
Mac = result.substring(result.indexOf("HWaddr")+6, result.length()-1);
Log.i("test","Mac:"+Mac+" Mac.length: "+Mac.length());
/*if(Mac.length()>
1){
Mac = Mac.replaceAll(" ", "");
result = "";
String[] tmp = Mac.split(":");
for(int i = 0;
i<
tmp.length;
++i){
result +=tmp[i];
}
}*/
result = Mac;
Log.i("test",result+" result.length: "+result.length());
}
return result;
}
private static String callCmd(String cmd,String filter) {
String result = "";
String line = "";
try {
Process proc = Runtime.getRuntime().exec(cmd);
InputStreamReader is = new InputStreamReader(proc.getInputStream());
BufferedReader br = new BufferedReader (is);
//执行命令cmd,只取结果中含有filter的这一行
while ((line = br.readLine ()) != null &
&
line.contains(filter)== false) {
//result += line;
Log.i("test","line: "+line);
}
result = line;
Log.i("test","result: "+result);
}
catch(Exception e) {
e.printStackTrace();
}
return result;
}
推荐阅读
- BeanFactory和ApplicationContext介绍
- mac 安装appium 1.6.5
- appium的各种
- 安卓 log日志框架
- Object/Relational Mapping数学关系 反面向对象
- 更新Android Studio 3.0碰到的问题
- spring boot d多层级mapper
- Hadoop(十七)之MapReduce作业配置与Mapper和Reducer类
- Android 8.1.0 模拟器