华为渠道接入的小细节

集成HMS SDK 3.0报错AGConnectInitializeProvider

现象:

华为渠道接入使用的maven仓,兴冲冲配置完毕之后,一运行就crash了,真扫兴,查看logcat:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: cn.xxx.xxx.huawei, PID: 22847
java.lang.RuntimeException: Unable to get provider com.huawei.agconnect.core.provider.AGConnectInitializeProvider: java.security.InvalidParameterException: url is null
at android.app.ActivityThread.installProvider(ActivityThread.java:6537)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6025)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5931)
at android.app.ActivityThread.access 1200 ( A c t i v i t y T h r e a d . j a v a : 200 ) a t a n d r o i d . a p p . A c t i v i t y T h r e a d 1200(ActivityThread.java:200) at android.app.ActivityThread 1200(ActivityThread.java:200)atandroid.app.ActivityThreadH.handleMessage(ActivityThread.java:1673)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6810)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Caused by: java.security.InvalidParameterException: url is null
at com.huawei.agconnect.common.b.c.a(Unknown Source:20)
at com.huawei.agconnect.credential.CredentialServiceRegistrar.initialize(Unknown Source:6)
at com.huawei.agconnect.core.impl.ServiceRegistrarParser.getServices(ServiceRegistrarParser.java:43)
at com.huawei.agconnect.core.impl.AGConnectInstanceImpl.(AGConnectInstanceImpl.java:18)
at com.huawei.agconnect.AGConnectInstance.initialize(AGConnectInstance.java:21)
at com.huawei.agconnect.core.provider.AGConnectInitializeProvider.onCreate(AGConnectInitializeProvider.java:18)

    at android.content.ContentProvider.attachInfo(ContentProvider.java:1927)

    at android.content.ContentProvider.attachInfo(ContentProvider.java:1902)
    at android.app.ActivityThread.installProvider(ActivityThread.java:6532)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:6025)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5931)
    at android.app.ActivityThread.access$1200(ActivityThread.java:200)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1673)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:201)
    at android.app.ActivityThread.main(ActivityThread.java:6810)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)   

分析:

这个报错是因为hms:hianalytics导致的,大部分用户一开始都没有在华为后台网站里配置analytics参数,所以hms:hianalytics初始化的时候就会报错崩溃。

解决方法:

第一种方法是:如果计划使用hms:hianalytics,则必须先去华为后台网站里配置analytics参数。

第二是方法是:如果不计划使用hms:hianalytics,就不进行hms:hianalytics初始化。

初始化的地方在Module的build.gradle中,删除implementation 'com.huawei.hms:hianalytics:5.0.0.301’这句就好了

dependencies {
implementation ‘com.huawei.hms:base:4.0.4.301’
implementation ‘com.huawei.hms:hwid:4.0.4.300’
implementation ‘com.huawei.hms:iap:4.0.4.300’
implementation ‘com.huawei.hms:game:4.0.3.301’
//implementation ‘com.huawei.hms:hianalytics:5.0.0.301’
}

你可能感兴趣的:(可平方,华为,python,开发语言)