首先,就目前掌握的资料来看,该问题没有彻底的解决方案。网络资料很多,主要分为4类。建议采用方案4。
方案一:Android设备标识或设备硬件信息
常用的有:
1)蓝牙/Wifi的Mac地址、IMSI、sim卡序列号;
2)CPU 的名称、核数、频率,Ram大小、Rom大小、屏幕分辨率,CPU的序列号在目前的测试设备中,显示为一串0;
3)device_id、android_id、serialno。
首先,有些在Android低版本(2.1到2.3)不稳定。其次,上面的几类各有缺点:
第1类受用户行为影响较大,比如开关wifi或蓝牙,插拔sim卡;
第2类表征能力差,同一型号手机中,这些特点没有区分度;
第3类是推荐的,但不能抵抗wipe,其中android_id的生成是以serialno为基础的。
方案二:采用UUID跟踪特定安装,不必绑定具体的设备
随机生成UUID,在本地存储。不做赘述。详见:
http://android-developers.blogspot.co.uk/2011/03/identifying-app-installations.html
方案三:Android Backup Service
AndroidBackup Service provides a backup transport for Android's data backup framework,which allows you to copy a user's persistent app data to remote "cloud" storage. 未做深入研究。
详见:
http://developer.android.com/training/cloudsync/backupapi.html