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

Cordova-Android 8.1构建失败:无法解析support-v4等依赖求助

解决cordova-android 8.1构建时依赖下载失败(PKIX证书错误)的问题

问题背景

基于cordova-android 8.1开发的Android应用,两周前构建正常,当前构建失败,核心报错为PKIX证书路径验证失败,且构建尝试从jitpack.io拉取com.android.support:support-v4和com.android.support:appcompat-v7的元数据时失败。

当前build.gradle配置片段:

buildscript {
    repositories {
        google()
        center()
    }
}

完整报错信息:

> Task :app:preBuild UP-TO-DATE
> Task :CordovaLib:preBuild UP-TO-DATE
> Task :CordovaLib:preReleaseBuild UP-TO-DATE
> Task :CordovaLib:checkReleaseManifest UP-TO-DATE
> Task :CordovaLib:processReleaseManifest UP-TO-DATE
> Task :app:preReleaseBuild FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':app:releaseCompileClasspath'.
> Could not resolve com.android.support:support-v4:25.+.
  Required by:
      project :app
   > Failed to list versions for com.android.support:support-v4.
      > Unable to load Maven meta-data from https://jitpack.io/com/android/support/support-v4/maven-metadata.xml.
         > Could not get resource 'https://jitpack.io/com/android/support/support-v4/maven-metadata.xml'.
            > Could not GET 'https://jitpack.io/com/android/support/support-v4/maven-metadata.xml'.
               > sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
> Could not resolve com.android.support:appcompat-v7:23+.
  Required by:
      project :app
   > Failed to list versions for com.android.support:appcompat-v7.
      > Unable to load Maven meta-data from https://jitpack.io/com/android/support/appcompat-v7/maven-metadata.xml.
         > Could not get resource 'https://jitpack.io/com/android/support/appcompat-v7/maven-metadata.xml'.
            > Could not GET 'https://jitpack.io/com/android/support/appcompat-v7/maven-metadata.xml'.
               > sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

解决方案

1. 修正仓库配置拼写错误

你的build.gradle中center()是错误写法,正确的Maven中央仓库标识为mavenCentral()。这个错误会导致Gradle无法从官方仓库拉取依赖,转而尝试从jitpack.io请求不存在的Android Support库,进而触发证书问题。修正后的配置:

buildscript {
    repositories {
        google()
        mavenCentral()
    }
}
// 同时检查项目根目录build.gradle的allprojects.repositories部分,确保同样配置google()和mavenCentral()

2. 限制jitpack.io的依赖请求范围

Android Support库仅托管在Google仓库和Maven中央仓库,jitpack.io并不存储这些库。可以通过仓库内容过滤,避免Gradle向jitpack.io请求这类依赖:

repositories {
    google()
    mavenCentral()
    maven {
        url "https://jitpack.io"
        content {
            excludeGroup "com.android.support"
            excludeGroup "androidx.core"
        }
    }
}

3. 手动导入SSL证书(若仍有证书错误)

如果修正仓库后仍出现PKIX错误,说明本地JDK缺少jitpack.io的SSL信任证书,可手动导入:

  • 用浏览器打开https://jitpack.io,下载站点的SSL证书
  • 使用JDK的keytool命令导入证书到JDK信任存储:
keytool -import -alias jitpack -keystore $JAVA_HOME/jre/lib/security/cacerts -file /path/to/downloaded-jitpack.crt

默认密钥库密码为changeit

4. 迁移到AndroidX(推荐长期方案)

Android Support库已停止维护,cordova-android 8.1支持AndroidX,迁移步骤:

  • 在config.xml中添加:
<preference name="AndroidXEnabled" value="true" />
  • 安装兼容插件适配旧插件:
cordova plugin add cordova-plugin-androidx-adapter

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 01:45:21