Get android Ethernet MAC Address (not wifi interface) Get android Ethernet MAC Address (not wifi interface) android android

Get android Ethernet MAC Address (not wifi interface)


This is my solution based on the Joel F answer. Hope it helps someone!

/* * Load file content to String */public static String loadFileAsString(String filePath) throws java.io.IOException{    StringBuffer fileData = new StringBuffer(1000);    BufferedReader reader = new BufferedReader(new FileReader(filePath));    char[] buf = new char[1024];    int numRead=0;    while((numRead=reader.read(buf)) != -1){        String readData = String.valueOf(buf, 0, numRead);        fileData.append(readData);    }    reader.close();    return fileData.toString();}/* * Get the STB MacAddress */public String getMacAddress(){    try {        return loadFileAsString("/sys/class/net/eth0/address")            .toUpperCase().substring(0, 17);    } catch (IOException e) {        e.printStackTrace();        return null;    }}


Assuming your ethernet interface is eth0, try opening and reading the file /sys/class/net/eth0/address.


this way to use java fix it; maybe can help you

NetworkInterface netf = NetworkInterface.getByName("eth0");byte[] array = netf.getHardwareAddress();StringBuilder stringBuilder = new StringBuilder("");String str = "";for (int i = 0; i < array.length; i++) {    int v = array[i] & 0xFF;    String hv = Integer.toHexString(v).toUpperCase();    if (hv.length() < 2) {        stringBuilder.append(0);    }    stringBuilder.append(hv).append("-");                   }str = stringBuilder.substring(0, stringBuilder.length()- 1);