【AGC】集成AGC插件在HarmonyOS鸿蒙Next中出现空指针报错问题
【问题描述】
HarmonyOS鸿蒙Next开发者反馈应用集成了AGC 性能管理服务服务、HMS地图服务等SDK,遇到了一些编译问题。如果在Android Studio中单击运行按钮,则应用程序编译和安装正确,但当单击构建时,任务应用程序中的gradle构建过程失败:dexBuilderHMSdebug抛出空指针异常和其他错误,如下所述:
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.dexing.DexWorkActionCaused by: org.gradle.tooling.BuildException: Failed to process: D:\trabajos\delaware\sunarp-android\app\build\intermediates\transforms\APMSPlugin\hms\debug\127.jarCaused by: com.android.builder.dexing.DexArchiveBuilderException: Failed to process: D:\trabajos\delaware\sunarp-android\app\build\intermediates\transforms\APMSPlugin\hms\debug\127.jarExecution failed for task ':app:dexBuilderHmsDebug'.> There was a failure while executing work items > A failure occurred while executing com.android.build.gradle.internal.dexing.DexWorkAction > Failed to process: D:\trabajos\delaware\sunarp-android\app\build\intermediates\transforms\APMSPlugin\hms\debug\127.jar
所有生成类型都将minifyEnabled选项设置为false,但是,proguard-rules.pro文件包含以下行:
-ignorewarnings-keepattributes *
-keepattributes Exceptions-keepattributes InnerClasses-keepattributes Signature-keepattributes SourceFile,LineNumberTable-keep class com.huawei.hianalytics.**{*;} -keep class com.huawei.updatesdk.**{*;} -keep class com.huawei.hms.**{*;}
集成的部分服务插件版本如下,Gradle版本为7.3.3。
classpath 'com.android.tools.build:gradle:7.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0"
classpath "com.google.dagger:hilt-android-gradle-plugin:2.42"
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.5.3"
classpath "com.huawei.agconnect:agcp:1.6.0.300"
hmsImplementation 'com.huawei.hms:maps:6.9.0.300'
hmsImplementation 'com.huawei.hms:location:6.9.0.300'
【问题分析】
1、一开始对问题进行分析时,看到开发者的项目中的gradle插件版本为7.3.3,AGC插件版本为1.6.0.300,与此不匹配。所以推荐将AGC插件版本升级到1.6.2.300或更高版本。
但是开发者反馈升级ACPG后,问题仍然存在:
2、再根据开发者第二次反馈的内容进行分析。AGC插件现在只支持gradle版本7.0.X,再让开发者更改gradle版本并重试。最终可以解决问题,不再报错。
【解决方案】
AGC插件现在最高只支持gradle版本7.0.X。需要将匹配的gradle版本更改到7.0.X及以下。而与gradle 7.3.3等以上兼容的AGC插件将在不久的将来发布。
更多关于【AGC】集成AGC插件在HarmonyOS鸿蒙Next中出现空指针报错问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
学习
更多关于【AGC】集成AGC插件在HarmonyOS鸿蒙Next中出现空指针报错问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中集成AGC插件时出现空指针报错,可能原因包括:
-
插件未正确初始化;
-
依赖库版本不兼容;
-
配置文件缺失或错误。
建议检查以下步骤:
- 确保插件已正确引入并初始化;
- 核对依赖库版本是否匹配;
- 检查
agconnect-services.json
配置文件是否放置正确且内容完整。
若问题依旧,可查看日志定位具体报错点,或参考AGC官方文档进行排查。