Android项目用了这个AndroidRocker:1.0.1版本,编译报错

比特灵 初级 2026-05-04 19:20:25

Could not find com.github.kongqw:AndroidRocker:1.0.1

它这个状态确实不正常,但是另外一台机器(Win)编译这个项目一点问题没有,非常奇怪。

 

 

 

...全文
430 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
AI向善 09-11 10:15
  • 打赏
  • 举报
回复

Could not find com.github.kongqw:AndroidRocker:1.0.1 这个报错看着像依赖坐标写错了,实际上多数情况是仓库没生效。我上周刚在一个老项目上撞过一模一样的,把它和"另一台机器能编"这条线索放一起看,答案基本就锁定在 Gradle 的仓库解析范围上。

先把原理说清楚:com.github.kongqw:AndroidRocker 这种 group 前缀是 GitHub 包的典型形式,它不在 Maven Central,而是发布在 JitPack 上,所以构建时必须有一个 maven { url 'https://jitpack.io'/ } 仓库能被解析到。

很多老教程让你在项目根目录 build.gradle 的 allprojects { repositories { ... } } 里加这行,这在 AGP 7.0 之后可能失效,因为新版本默认走 settings.gradle 里的集中式仓库管理:

// settings.gradle
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)  // 有些模板是 FAIL_ON_PROJECT_REPOS
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }   // 补这一行
    }
}

PREFER_SETTINGS 会优先用这里的配置,FAIL_ON_PROJECT_REPOS 则直接拒绝 project 级仓库。两种情况的表现都是"我在 build.gradle 里明明加了 jitpack,但就是找不到包"。

那另一台机器为什么好的?常见就两个原因。

一是那台机器的 Gradle 缓存里已经有这个包了。路径在 ~/.gradle/caches/modules-2/files-2.1/com.github.kongqw/ ,有缓存就不会发起远程解析,自然不报错。把这份缓存拷到你这台机器,或者删掉缓存强制重新下载,差异立刻能看出来。

二是那台机器的 AGP / Gradle 版本更旧,还在用 project 级仓库配置,JitPack 那行是生效的。

排查顺序建议这样走。

先跑 ./gradlew :app:dependencies --configuration debugRuntimeClasspath ,看 AndroidRocker 有没有被解析出来。报错信息里通常会刷出一串 "searched in the following locations",把搜索过的仓库都列出来,一眼就知道 jitpack 有没有进去。

再确认版本号在 JitPack 上真的存在。JitPack 是按需构建的,第一次请求某个 tag 时它会现场拉代码打包,这期间可能返回 404 或者构建失败。浏览器直接访问 https://jitpack.io/com/github/kongqw/AndroidRocker/1.0.1/ 看构建日志和状态,绿色才说明可用;如果是红色,换个版本或者去 GitHub 仓库页面看 tag 有没有打对。

顺手把离线模式关掉。Android Studio 的 Gradle 面板里如果勾了 Offline work(新版叫 Offline Mode),JitPack 这种需要远程解析的包会直接失败。国内网络访问 jitpack.io 不稳的话,在 gradle.properties 里配好代理,或者用镜像转发。

改完执行 ./gradlew --refresh-dependencies ,必要时先 ./gradlew clean 。

如果折腾下来 JitPack 这条路始终不通,还有个更省事的方案:AndroidRocker 本质就是一个自定义摇杆 View,源码量很小。把 RockerView.java 和相关资源直接 vendored 到自己项目里(放到 app/src/main/java 下对应的包名目录),然后把远程依赖删掉。对小体量的 UI 组件来说,源码内联比绕 JitPack 的构建和网络问题更稳,也省掉了以后 JitPack 挂掉的风险。

一句话总结:这个报错多半不是依赖坐标写错,而是 settings.gradle 的 dependencyResolutionManagement 里缺 jitpack,再加上"另一台机器有缓存"造成的假象。你要是还卡在别的报错上,评论区贴一下 gradle 版本,我帮你看看。

附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[坡道(ramp)] · 训练集:275 张 · 验证集:27 张 · 测试集:0 张 · 总计:302 张 该数据集聚焦于城市环境中各类建筑入口处的坡道设施,涵盖住宅、商铺、公共设施等多种场景,真实反映了无障碍通行设施在实际应用中的多样化形态。数据集中包含金属、橡胶、塑料等多种材质的坡道,以及不同尺寸、结构和安装方式的实例,充分体现了坡道在城市基础设施中的广泛部署与重要性。该数据集为城市智慧化管理、无障碍环境建设及公共安全监控提供了高质量的视觉基础支持。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 33 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.6372** mAP50-95 | 0.3401 Precision | 0.6603 Recall | 0.6190 train/box_loss | 1.0569 train/cls_loss | 0.7307 val/box_loss | 1.6084 val/cls_loss | 1.9323 【训练过程分析】 33 轮训练后 mAP50 仅 0.6372,模型收敛不充分。Loss 曲线前期下降后进入平台期,mAP 提升缓慢。mAP50-95 为 0.3401,定位精度同样偏低。 【模型性能评估】 Precision 0.6603、Recall 0.6190,精度高于召回,存在一... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧