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

Android库发布遇Gradle依赖与GitHub Packages凭证问题求助

解决Android库发布到GitHub Packages的Gradle依赖与凭证问题

一、修复Gradle任务依赖错误

更新Gradle插件后出现的generateMetadataFileForReleasePublication未声明依赖androidSourcesJar的问题,无需手动给metadata任务加dependsOn,正确做法是在发布配置中显式关联任务与artifact,让Gradle自动管理依赖链:

修改publishing -> publications -> release中的artifact配置:

artifact androidSourcesJar {
    builtBy androidSourcesJar
}

这样Gradle会自动为所有依赖该artifact的发布任务(包括生成metadata的任务)添加对androidSourcesJar的执行依赖,避免任务顺序混乱导致的错误。同时可以移除你手动添加的generateMetadataFileForReleasePublication.dependsOn androidSourcesJar代码,避免冗余配置。

二、修复GitHub Packages凭证错误

GitHub Actions中出现的凭证缺失提示,是因为Gradle配置缓存对credentials的解析逻辑导致的,需要改用延迟加载的provider方式获取环境变量,同时确保GitHub Actions中正确传递凭证:

1. 修改build.gradle中的凭证配置

将原credentials块修改为使用providers.environmentVariable:

maven {
    name = "GitHubPackages"
    url = uri("https://maven.pkg.github.com/HIDDEN_FOR_STACKOVERFLOW")
    credentials {
        username = providers.environmentVariable("GPR_USER")
        password = providers.environmentVariable("GPR_KEY")
    }
}

这种方式能兼容Gradle配置缓存,避免触发“缺少属性”的错误。如果需要同时支持本地gradle.properties配置,可以扩展为:

credentials {
    username = providers.environmentVariable("GPR_USER")
        .orElse(providers.gradleProperty("GitHubPackagesUsername"))
    password = providers.environmentVariable("GPR_KEY")
        .orElse(providers.gradleProperty("GitHubPackagesPassword"))
}

2. 确保GitHub Actions中正确传递环境变量

在你的GitHub Actions workflow文件中,添加发布步骤时要正确注入GPR_USER和GPR_KEY:

steps:
  - name: 发布到GitHub Packages
    env:
      GPR_USER: ${{ github.actor }}
      GPR_KEY: ${{ secrets.GITHUB_TOKEN }}
    run: ./gradlew :my_sdk:publish --stacktrace
  • GITHUB_TOKEN是GitHub Actions自动提供的令牌,需确保它拥有packages:write权限(仓库默认的令牌通常已包含此权限);
  • 若使用自定义令牌,需在仓库的「Settings -> Secrets and variables -> Actions」中添加对应的secret,并替换${{ secrets.GITHUB_TOKEN }}为你的secret名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 23:03:18