Skip to content

(求大佬指导)荣耀设备崩溃:java.lang.NoClassDefFoundError: Failed resolution of: Lcom/hihonor/ads/identifier/AdvertisingIdClient; #89

@lllyeeAB

Description

@lllyeeAB

如题,其他品牌没问题,只要是荣耀的话调用DeviceIdentifier.register就崩溃。
逛了一圈发现,好像是没打进去荣耀sdk导致的,

然后我将gradle从下面这样:
implementation('com.github.gzu-liyujiang:Android_CN_OAID:4.2.8') {
exclude group: 'com.huawei.hms', module: 'ads-identifier'
exclude group: 'com.hihonor.mcs', module: 'ads-identifier'
}
改成了这样:
implementation('com.github.gzu-liyujiang:Android_CN_OAID:4.2.8') {
exclude group: 'com.huawei.hms', module: 'ads-identifier'
// 荣耀官方广告标识服务SDK
runtimeOnly "com.hihonor.mcs:ads-identifier:1.0.2.301"
}

然后出现了编译报错:Duplicate class com.hihonor.cloudservice.oaid.a found in modules jetified-RangersAppLog-Lite-cn-6.16.3-runtime (com.bytedance.applog:RangersAppLog-Lite-cn:6.16.3) and jetified-ads-identifier-1.0.2.301-runtime (com.hihonor.mcs:ads-identifier:1.0.2.301)

遇到了一些冲突,项目是使用了csj的一些库:
implementation('com.bytedance.applog:RangersAppLog-Lite-cn:6.16.3')

然后求助了下AI。。(安卓新手),尝试了exclude的一些写法:

implementation('com.bytedance.applog:RangersAppLog-Lite-cn:6.16.3') {
exclude group: 'com.hihonor.cloudservice', module: 'oaid'
}
// 或者
implementation('com.hihonor.mcs:ads-identifier:1.0.2.301') {
exclude group: 'com.hihonor.cloudservice', module: 'oaid'
}

总而言之现在绕不开这个冲突,我也不知道整个流程是不是应该这样?我想解决荣耀崩溃的问题,但是好像又遇到冲突,不知道是不是该这样做。。混淆配置那些都是copy的。。

求大佬指导下我的gradle到底应该怎么写才不会冲突又能将荣耀的sdk依赖进去。。感谢。。🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions