ROM修改---修改本机的mac地址
生活随笔
收集整理的這篇文章主要介紹了
ROM修改---修改本机的mac地址
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關鍵代碼:
//從某處讀取文件public static String readString(String fp) {String str = null;try {BufferedReader in = new BufferedReader(new FileReader(fp));str = in.readLine();in.close();} catch (IOException e) {e.printStackTrace();}return str;}//將某字符轉成byte數組private static byte[] getMacBytes(String mac) {if(mac == null) return null;byte[] macBytes = new byte[6];String[] strArr = mac.split(":");if(strArr.length != 6)return null;for (int i = 0; i < strArr.length; i++) {int value = Integer.parseInt(strArr[i], 16);macBytes[i] = (byte) value;}return macBytes;}修改處:
String mnMac = readString("/anywhere");byte[] mnBytes = getMacBytes(mnMac);// Populate NetworkInterface instances.Map<String, NetworkInterface> nis = new HashMap<>(inetMap.size());for (Map.Entry<String, List<StructIfaddrs>> e : inetMap.entrySet()) {String name = e.getKey();int index = Libcore.os.if_nametoindex(e.getKey());if (index == 0) {// This interface has gone away between getifaddrs and if_nametoindexcontinue;}NetworkInterface ni = new NetworkInterface(name, index, null);ni.displayName = name;List<InetAddress> addrs = new ArrayList<>();List<InterfaceAddress> binds = new ArrayList<>();for (StructIfaddrs ifa : e.getValue()) {if (ifa.ifa_addr != null) {addrs.add(ifa.ifa_addr);binds.add(new InterfaceAddress(ifa.ifa_addr, (Inet4Address) ifa.ifa_broadaddr,ifa.ifa_netmask));}if (ifa.hwaddr != null) {ni.hardwareAddr = ifa.hwaddr;if(ni.displayName.equals("wlan0") || ni.displayName.equals("wlan1") || ni.displayName.equals("p2p0")){if(mnBytes != null)ni.hardwareAddr = mnBytes;}}}ni.addrs = addrs.toArray(new InetAddress[addrs.size()]);ni.bindings = binds.toArray(new InterfaceAddress[binds.size()]);ni.childs = new ArrayList<>(0);nis.put(name, ni);}效果:
在某處定義一個mac;
?在設置中查看mac:
?
?
總結
以上是生活随笔為你收集整理的ROM修改---修改本机的mac地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 枚举类中获取枚举值的几种方法
- 下一篇: 科创人·StreamNative翟佳:开