macOS下F-Droid构建报错:gradlew-fdroid文件缺失
解决macOS下fdroidserver缺失gradlew-fdroid的构建报错问题
问题描述
执行构建命令:
fdroid build free.vpn.unblock.proxy.opensource
触发以下报错:
ERROR: Could not build app free.vpn.unblock.proxy.opensource: OSError while trying to execute /usr/local/Cellar/fdroidserver/2.2.1/libexec/lib/python3.11/site-packages/gradlew-fdroid clean: [Errno 2] No such file or directory: '/usr/local/Cellar/fdroidserver/2.2.1/libexec/lib/python3.11/site-packages/gradlew-fdroid'
核心原因是brew安装的fdroidserver包未包含gradlew-fdroid文件。
解决步骤
1. 确认文件缺失状态
先手动检查目标路径下是否存在该文件:
ls /usr/local/Cellar/fdroidserver/2.2.1/libexec/lib/python3.11/site-packages/gradlew-fdroid
若返回“No such file or directory”,则确认文件确实缺失。
2. 重装fdroidserver
brew包可能存在打包缺陷,尝试卸载后重装:
brew uninstall fdroidserver brew install fdroidserver
重装完成后再次执行构建命令,验证问题是否解决。
3. 手动添加gradlew-fdroid文件
若重装无效,可手动补充该文件:
- 获取对应2.2.1版本的
gradlew-fdroid文件 - 将文件复制到目标路径:
cp /本地路径/gradlew-fdroid /usr/local/Cellar/fdroidserver/2.2.1/libexec/lib/python3.11/site-packages/ - 赋予执行权限:
chmod +x /usr/local/Cellar/fdroidserver/2.2.1/libexec/lib/python3.11/site-packages/gradlew-fdroid
4. 替代方案:源码安装fdroidserver
如果brew安装始终存在文件缺失问题,改用源码安装方式:
git clone https://gitlab.com/fdroid/fdroidserver.git cd fdroidserver git checkout 2.2.1 pip install -e .
源码安装会完整生成所有所需辅助文件,避免brew打包的缺陷。
额外检查
确认metadata文件中subdir: android/app的配置是否正确,确保构建流程能定位到项目的gradle配置文件。
内容的提问来源于stack exchange,提问作者Андрей Пикалов
相关产品推荐
相关产品推荐

