From SDK version:
- IDKit Android SDK version 3.0.9
- ANSI&ISO Android SDK version 2.0.5
- Segmentation Android SDK version 1.7.0
- IFace Android SDK version 2.7.0
there are three ways of getting HW ID. Every Android device should provide you either with IMEI or Serial Number according to this article.
NOTE: MAC address based HWID was the only way in older versions of above mentioned SDKs.
1. Serial number based HW ID - returned by IEngine_GetHardwareId function
2. IMEI based HW ID - returned by IEngine_GetHardwareId function if no serial number is found. You can also find the IMEI of your device in Settings->About phone->Status or by entering a special code *#06# using the device's keypad according to http://www.phonearena.com/news/How-to-find-a-phones-IMEI-number_id62867. Please note that you have to add letter 'M' before the IMEI number and then add it to CRM license generator. For example if the IMEI=123456789012345 then the Hardware ID=M123456789012345. You also have to add following permission to application's manifest file in order to use IMEI as Hardware ID:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
ANSI&ISO SDK - IEngine_GetHwid in C++, method getHardwareId() in Java
- Segmentation SDK - ISegLib_GetHwid in C++, method getHardwareId() in Java
- IFace SDK - IFACE_Get_HardwareId