1、supplierconfig.json 配置文件如何修改 supplierconfig.json 文件内容无需修改和补充,只需填写对应 appid 值, 并放到 assets 目录下即可。
2、出现证书初始化失败怎么办 请先按以下条目排查:
1) 真机系统时间(日期)是否正确;
2) 传入的证书字符串是否包含了证书文件的所有字符内容,包括换行符;
3) 证书和 APP 包名是否一一对应,不能混用;
4) 若用于插桩测试(Instrumentation API),则需确保传入的 context 为 TargetContext;
5) 在提供的 demo 中使用下发的证书,会出现证书初始化失败。demo 的包名 和申请的证书中的包名不一致,无法通过证书校验,请在自己的 APP 中 使用申请的证书。 3、仅在 Android12 的设备上报错,出现“java.lang.UnsatisfiedLinkError: No implementation found for int com.bun.miitmdid.e.a() (tried Java_com_bun_miitmdid_e_a and Java_com_bun_miitmdid_e_a__)”报错信息 如果在 Android12 之前的设备没有问题,仅在 Android12 的设备上报错,同 时 APP 的 minSdkVersion 大于等于 23 时,会报上述奔溃,找不到 so 库中的方 法。在应用 AndroidManifest 文件 application 标签增加 android:extractNativeLibs="true",即可解决问题。
问题原因: 如果 extractNativeLibs 为 false 时,应用的 so 文件不解压而且页面对齐; 如果设置为 true 时,系统安装服务会把 so 文件解压到系统目录, extractNativeLibs 默认值为 false。由于要动态加载 Dex,Dex 依赖的 so 没有解 压到/data/app//lib 目录下,在加载 Dex 时指定的 libraryPath 没有 so 文件,所以报找不到 so 的异常。
4、华为\荣耀手机 oaid 返回 00000000-0000-0000-0000-000000000000 华为\荣耀手机在用户启用“限制广告跟踪”开关后,oaid 将会重置为 00000000-0000-0000-0000-000000000000。
5、小米手机异常,java.lang.NoSuchMethodException: getDefaultUDID [class android.content.Context] 这个只是输出的一个日志,关闭日志,就没有了,不会引起系统崩溃,放心 使用。
6、出现“dynamic section has invalid link(0) sh_type: 0 (expected SHT_STRTAB)”崩溃 这个问题是符号被 strip 掉了,对比一下提供的 aar 中的 so 大小与生成的 APK 中 so 的大小是否一致,不一致就是符号被处理了,加固后的 so 无法识别启 动不了,也就是说 doNotStrip 没有设置好,需要在 app 的 gradle 里设置。
7、报错提示“No implementation found for boolean com.bun.miitmdid.core.MdidSdkHelper.InitCert” 这个问题是没有加载安全库导致的,参考 DemoHelper,在调用前需载入 SDK 安全库“System.loadLibrary("nllvmXXXXXXXXXXXX");”。 8、报错提示“Missing 'package' key attribute on element package at [oaid_sdk_1.0.XX.aar] AndroidManifest.xml......” 为了适配 Android11,aar 的 AndroidManifest 中添加了 ..元素,这个问题解决方法是参考 Android 官方的文档,升 级 Android Gradle 版本,也可在 aar 的 AndroidManifest.xml 文件中删除这个元 素,但 sdk 删除元素在部分品牌的 android11 上无法获取 oaid。
9、报错提示“java.lang.NoClassDefFoundError: com.bun.miitmdid.core.MdidSdkHelper” 出现此问题,是由于 APP 集成的其他第三方 sdk 在调用本 sdk 时版本过旧或 使用有误,需在初始化第三方 sdk 前调用 loadlibrary 加载加固包。
|