编译crDroid A14时Git同步android.googlesource.com失败求助
解决crDroid A14编译时repo sync无法拉取Google源仓库的问题
排查与修复步骤
1. 核对manifest配置的仓库路径
进入.repo/manifests目录,打开crDroid A14对应的manifest文件,找到device/common这类报错项目的配置条目,重点检查path字段是否准确,避免路径拼写或层级错误。比如要确保条目格式类似:
<project path="device/common" name="device/common" revision="refs/tags/android-14.0.0_r67" />
如果path写错,会导致repo试图在错误路径初始化Git仓库,触发“非Git仓库”报错。
2. 手动初始化单个报错仓库
如果manifest配置没问题,针对报错的仓库单独初始化:
- 切换到目标路径的上级目录(比如要建
device/common就进入device目录),执行:
git init common cd common git remote add origin https://android.googlesource.com/device/common git fetch origin refs/tags/android-14.0.0_r67 git checkout FETCH_HEAD
完成后回到编译根目录重新跑repo sync。
3. 清理repo缓存后重新同步
- 先清理本地仓库的冗余文件和缓存:
repo forall -c "git clean -dfx" repo prune
- 删除
.repo/projects/device/common.git和.repo/project-objects/android.googlesource.com/device/common.git这两个文件夹,然后重新初始化repo并同步:
repo init -u <crDroid A14的manifest仓库地址> -b <对应A14分支> repo sync -j$(nproc)
4. 检查Git版本与网络兼容性
- 确认本地Git版本不低于2.20,旧版本可能和repo工具存在兼容问题:
git --version
- 临时关闭SSL验证尝试同步,排除证书或网络拦截问题:
export GIT_SSL_NO_VERIFY=true repo sync -j$(nproc)
内容的提问来源于stack exchange,提问作者DiamondJohnDroid
相关产品推荐
相关产品推荐

