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.25k stars 331 forks source link

华为P40 Pro海外版,崩溃 #75

Open Wood-Android opened 10 months ago

Wood-Android commented 10 months ago

华为P40 Pro 机型:ELS-NX9 Android 10 版本号:10.1.0.176 EMUI版本:10.1.0 Release 4.2.7 版本,aar接入 直接下载版本release里的apk demo运行正常

崩溃堆栈:

FATAL EXCEPTION: pool-2-thread-1 Process: com.example.assistant, PID: 21772 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/huawei/hms/ads/identifier/AdvertisingIdClient; at com.github.gzuliyujiang.oaid.impl.HuaweiImpl.runOnSubThread(HuaweiImpl.java:82) at com.github.gzuliyujiang.oaid.impl.HuaweiImpl.access$000(HuaweiImpl.java:35) at com.github.gzuliyujiang.oaid.impl.HuaweiImpl$1.run(HuaweiImpl.java:72) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:929) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.huawei.hms.ads.identifier.AdvertisingIdClient" on path: DexPathList[[zip file "/data/app/com.example.assistant-jl6cLvrHIfSpVaHbEbA-NQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.assistant-jl6cLvrHIfSpVaHbEbA-NQ==/lib/arm64, /data/app/com.example.assistant-jl6cLvrHIfSpVaHbEbA-NQ==/base.apk!/lib/arm64-v8a, /system/lib64, /hw_product/lib64, /system/product/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:209) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at com.github.gzuliyujiang.oaid.impl.HuaweiImpl.runOnSubThread(HuaweiImpl.java:82)  at com.github.gzuliyujiang.oaid.impl.HuaweiImpl.access$000(HuaweiImpl.java:35)  at com.github.gzuliyujiang.oaid.impl.HuaweiImpl$1.run(HuaweiImpl.java:72)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)  at java.lang.Thread.run(Thread.java:929) 

liyujiang-gzu commented 10 months ago

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/huawei/hms/ads/identifier/AdvertisingIdClient;

老铁,目测是你的apk没有把华为的广告标识符SDK打包进去。

liyujiang-gzu commented 10 months ago
// 如果华为官方广告标识服务SDK下载失败或编译报错的话,可考虑在 build.gradle 中增加以下配置:
        repositories { maven {url 'https://developer.huawei.com/repo/'} }

        runtimeOnly "com.huawei.hms:ads-identifier:3.4.62.300"