You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

适配firebase 11.8.0的play-services-maps SDK版本咨询及构建问题排查

问题描述

我在使用com.google.android.gms:play-services-maps:15.0.1 SDK时,遇到了和现有Firebase库的兼容问题,当前使用的Firebase库为:

  • com.google.firebase:firebase-database:11.8.0
  • com.google.firebase:firebase-core:11.8.0

添加该地图库后出现报错,提示所有Firebase库版本必须统一在14.0.0以上或以下。我将所有SDK版本统一后,又出现如下错误:

Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details

对应的错误日志:

Error:Auto build failure: Internal error: (java.lang.NullPointerException) null java.lang.NullPointerException at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadFromDirectory(JpsProjectLoader.java:156) at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadProject(JpsProjectLoader.java:96) at org.jetbrains.jps.model.serialization.impl.JpsSerializationManagerImpl.loadModel(JpsSerializationManagerImpl.java:42) at org.jetbrains.jps.cmdline.JpsModelLoaderImpl.loadModel(JpsModelLoaderImpl.java:50) at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:79) at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:280) at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:138) at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:235) at org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda$executeOnPooledThread$0(SharedThreadPoolImpl.java:42) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

解决方案

先搞定最核心的版本兼容问题,再处理后续的构建错误:

1. 匹配Firebase 11.8.0的Play Services Maps版本

Google对Play Services和Firebase库的版本一致性要求很严格——同一项目里所有相关库的版本号必须完全对齐。针对你用的11.8.0版本Firebase,对应的Play Services Maps版本也得是11.8.0,也就是把依赖改成:

com.google.android.gms:play-services-maps:11.8.0

这样就能解决一开始的版本不兼容提示了。

2. 处理统一版本后的构建错误

你遇到的空指针+AAPT2错误,大概率是缓存或资源问题,按下面的步骤排查:

  • 先清缓存重建:直接点Android Studio里的Build > Clean Project,然后Build > Rebuild Project,很多时候缓存乱了就会出这种莫名其妙的错误,清完就好。
  • 检查XML资源文件:AAPT2的错误基本都是XML资源有问题,比如标签没闭合、属性写错、引用了不存在的图片/颜色资源之类的。仔细过一遍你的布局文件、values文件夹下的所有XML,找语法或引用错误。
  • 临时禁用AAPT2(应急用):要是一时找不到资源问题,可以在项目根目录的gradle.properties里加一行:
    android.enableAapt2=false
    
    不过这只是临时方案,之后还是得把资源问题修好,毕竟AAPT2是官方推的工具,编译效率更高。
  • 对齐Android Studio和Gradle版本:错误日志里提到了JetBrains的JPS加载问题,可能是你用的Android Studio版本和项目里的Gradle插件版本不匹配。比如Android Studio 3.2+对应Gradle插件3.2.0及以上,确保两者版本兼容。

内容的提问来源于stack exchange,提问作者bharat singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:33:11