gzu-liyujiang / Android_CN_OAID

安卓设备唯一标识解决方案,可替代移动安全联盟(MSA)统一 SDK 闭源方案。包括国内手机厂商的开放匿名标识(OAID)、海外手机平台的安卓广告标识(AAID),另外也提供了 IMEI/MEID、AndroidID、WidevineID、PseudoID、GUID 等常见的设备标识的获取方法。
https://gzu-liyujiang.github.io/Android_CN_OAID/
Other
2.23k stars 330 forks source link

线上收集的一些错误反馈 #65

Open developerzjy opened 1 year ago

developerzjy commented 1 year ago

你好,我们项目集成了这个sdk,线上收集到的一些错误,想问下作者这些错误的原因以及有没有处理这些错误建议来提高oaid的获取率。

错误1: onOAIDGetError回调方法返回的错误:com.github.gzuliyujiang.oaid.OAIDException: java.lang.SecurityException: Package (此处是我们app的包名) does not belong to 10382

错误2: onOAIDGetError回调方法返回的错误:com.github.gzuliyujiang.oaid.OAIDException: Service binding failed

错误3: onOAIDGetError回调方法返回的错误:com.github.gzuliyujiang.oaid.OAIDException: OAID query failed: null

liyujiang-gzu commented 9 months ago

错误1不太清楚,错误2是因为厂商的远程接口(AIDL)的Service绑定失败,错误3是因为调用厂商的OAID获取方式失败,小概率出现的话也许是正常现象,大概率出现的话就看下是什么厂商的手机、记录下错误的详细堆栈辅助分析。

错误2相关源码:

// OAIDService.java
 boolean ret = context.bindService(intent, this, Context.BIND_AUTO_CREATE);
            if (!ret) {
                throw new OAIDException("Service binding failed");
            }

错误3相关源码:

// NubiaImpl.java
 if (oaid == null || oaid.length() == 0) {
                throw new OAIDException("OAID query failed: " + bundle.getString("message"));
            }