如何解决react-native-push-notification:extractReleaseAnnotations构建失败错误
解决
./gradlew assembleRelease依赖下载失败问题 问题根源
构建Release版本时,Gradle无法解析dl.google.com域名,导致无法下载intellij-core和kotlin-compiler依赖;而yarn android触发的Debug版本构建可能依赖缓存或不同配置,未触发该问题。
解决方案
1. 检查网络与DNS设置
- 执行
ping dl.google.com,确认域名能否正常解析。若无法解析,将设备DNS改为8.8.8.8(谷歌公共DNS)或114.114.114.114(国内公共DNS)。 - 若所在区域访问谷歌资源需要代理,确保网络代理正常工作。
2. 为Gradle配置代理(如需)
在项目根目录的gradle.properties文件中添加代理配置(替换为你的代理信息):
systemProp.http.proxyHost=127.0.0.1 systemProp.http.proxyPort=1080 systemProp.https.proxyHost=127.0.0.1 systemProp.https.proxyPort=1080 # 若为Socks代理,使用以下配置 # systemProp.socks.proxyHost=127.0.0.1 # systemProp.socks.proxyPort=1080
3. 切换国内Maven镜像
修改项目根目录的build.gradle文件,将默认仓库替换为国内镜像(如阿里云),避免访问谷歌仓库失败:
buildscript { repositories { // 替换原google()、jcenter()为国内镜像 maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } } dependencies { // 保持原有依赖配置不变 classpath("com.android.tools.build:gradle:7.4.2") classpath("com.facebook.react:react-native-gradle-plugin") } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public' } mavenLocal() mavenCentral() maven { url "$rootDir/../node_modules/react-native/android" } maven { url "$rootDir/../node_modules/jsc-android/dist" } } }
4. 清理Gradle缓存并重建
- 执行命令清理项目构建缓存:
./gradlew clean - 删除本地Gradle缓存目录:
- Windows:
C:\Users\[你的用户名]\.gradle - macOS/Linux:
~/.gradle
- Windows:
- 重新执行Release构建:
./gradlew assembleRelease
5. 升级依赖版本
react-native-push-notification旧版本可能依赖已无法正常下载的旧版工具包,尝试升级到最新稳定版:
- 修改
package.json中react-native-push-notification的版本为最新值。 - 执行
yarn install更新依赖。 - 重新执行构建命令。
内容的提问来源于stack exchange,提问作者Festus Akushie
相关产品推荐
相关产品推荐

