我开发了一些代码并将它们打包成几个共享库(Android OS中的* .so)。我会将它们分享给一些供应商,但我希望这些库只能在一个或多个Android设备上使用。 我试图获取设备的唯一ID并检查ID是否合法,但似乎没有任何代表唯一设备的ID,即使重新刷新设备也无法更改。我知道在x86 windows系统下有一个CPUID,但在基于arm的Android设备下并不是类似的东西。另外,为了linux安全机制,我无法从没有root的用户空间获得类似MAC的flash id。
有任何方法可以实现这一目标吗?期待您的建议。感谢。
答案 0 :(得分:0)
即使您尝试这样做,有人也可以反编译您的库并恢复这些对策。你无法避免这种情况。
如果您不关心这一点,您可以获得设备的IMEI。缺点是可能没有一个(最有可能的情况是它是没有3G的平板电脑)。方法如下:How to get the device's IMEI/ESN programmatically in android?
如果你想获得MAC地址,你可以试试这个(仍然不能保证它会起作用,而且很容易欺骗):Getting MAC address in Android 6.0
这也是一个有趣的读物,但是大多数这些方法在重置后可能无法唯一识别设备:https://developer.android.com/training/articles/user-data-ids.html