# deviceUniqueWeb **Repository Path**: xjdd/device-unique-web ## Basic Information - **Project Name**: deviceUniqueWeb - **Description**: 获取设备识别+原生和腾讯X5切换 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-27 - **Last Updated**: 2021-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 全局设备唯一获取 ###supplierconfig.json 此文件必须要不然会报错 ## 使用规则 ``` java //依赖 implementation 'com.pince.maven:lib-device-unique:1.2.5' //最好在App启动界面开始调用。因为获取回调是在异步进行的为了保证之后每次取都能正确获取到值 OAIDHelper().init(this, object : IgetUUIDListener { override fun returnUUID(uuid: String) { Log.e("TAG22", "$uuid") text.text = uuid } }) //获取UUID 直接保存UUID或者 OAIDHelper.Companion.getUUID(twoActivity.this) ``` ## 混淆代码一定要加上 #msa sdk 混淆配置 ```java -keep class XI.CA.XI.**{*;} -keep class XI.K0.XI.**{*;} -keep class XI.XI.K0.**{*;} -keep class XI.vs.K0.**{*;} -keep class XI.xo.XI.XI.**{*;} -keep class com.asus.msa.SupplementaryDID.**{*;} -keep class com.asus.msa.sdid.**{*;} -keep class com.bun.lib.**{*;} -keep class com.bun.miitmdid.**{*;} -keep class com.huawei.hms.ads.identifier.**{*;} -keep class com.samsung.android.deviceidservice.**{*;} -keep class org.json.**{*;} -keep public class com.netease.nis.sdkwrapper.Utils {public ;} ``` #----------------------------------------------------------------------------------------------------- ### androidID存在的问题 android_id还有其他的bug,比如: 1.不同的设备可能会产生相同的android_id。 2.有的厂商设备无法获取android_id,会返回null。 3.对于CDMA的设备,ANDROID_ID和TelephonyManager.getDeviceId() 的值相同。 4.不同的android系统版本稳定性不同。 ### android设备信息说明 ```java String board = Build.BOARD;//主板 String brand = Build.BRAND;//系统定制商 String[] supportedAbis = Build.SUPPORTED_ABIS;//CPU指令集 String device = Build.DEVICE;//设备参数 String display = Build.DISPLAY;//显示屏参数 String fingerprint = Build.FINGERPRINT;//唯一编号 String serial = Build.SERIAL;//硬件序列号 String id = Build.ID;//修订版本列表 String manufacturer = Build.MANUFACTURER;//硬件制造商 String model = Build.MODEL;//版本 String hardware = Build.HARDWARE;//硬件名 String product = Build.PRODUCT;//手机产品名 String tags = Build.TAGS;//描述Build的标签 String type = Build.TYPE;//Builder类型 String codename = Build.VERSION.CODENAME;//当前开发代码 String incremental = Build.VERSION.INCREMENTAL;//源码控制版本号 String release = Build.VERSION.RELEASE;//版本字符串 int sdkInt = Build.VERSION.SDK_INT;//版本号 String host = Build.HOST;//Host值 String user = Build.USER;//User名 long time = Build.TIME;//编译时间 board: VOG brand: HUAWEI supportedAbis:[arm64-v8a, armeabi-v7a, armeabi] device: HWVOG display: VOG-AL00 9.1.0.186(C00E180R2P1) fingerprint: HUAWEI/VOG-AL00/HWVOG:9/HUAWEIVOG-AL00/186C00:user/release-keys serial: unknown id: HUAWEIVOG-AL00 manufacturer: HUAWEI model: VOG-AL00 hardware: kirin980 product: VOG-AL00 tags: release-keys type: user codename: REL incremental: 186C00 release: 9 sdkInt: 28 host: sh33773886d1563280923609-155214966-p3j7f user: test time: 1563286764000 ``` ## 更新 #### 20.11.11添加单独设置是否获取mac地址,因工信部要求在用户获取隐私政策之前不能私自获取mac地址 ```java /** * 默认不去读取用户mac地址 * @return */ public String getUniqueID(Context context) { return getUniqueID(context, false); } /** * isGetMac true默认会去读取mac地址,false则不会去读取mac地址 * @return */ public String getUniqueID(Context context, boolean isGetMac) { } ``` #### 2021.3.3添加移动安全联盟的OAID 移动安全联盟 (http://www.msa-alliance.cn)