Ubuntu 16.04下Android Studio构建Chromium for Android失败求助
我之前折腾Chromium Android项目导入AS的时候也踩过不少类似的坑,结合官方文档和实际排查经验,给你几个针对性的解决方向:
1. 严格匹配工具链版本兼容性
Chromium的构建系统对工具版本要求非常苛刻,Android Studio 3.1.2确实属于较旧的版本,大概率和你当前的Chromium源码版本不兼容。你可以去Chromium源码根目录下的build/android/README.md文件里,找到官方推荐的Android Studio、Gradle、SDK以及NDK版本,尽量完全匹配这些版本——尤其是NDK,Chromium对它的版本依赖几乎是硬性要求,别用自己随便安装的版本,最好用depot_tools里的工具同步对应版本的依赖。
2. 重新生成Gradle项目,排除缓存污染
有时候生成过程中会出现文件缺失或缓存残留问题,建议先彻底清理旧的输出文件:
rm -rf out/Default ~/Projects/chromium_source/gradle_project
然后回到Chromium源码根目录(确保depot_tools已经添加到系统PATH),重新运行生成命令,最好加上--clean参数强制清理残留:
build/android/gradle/generate_gradle.py --output-directory out/Default --project-dir ~/Projects/chromium_source/gradle_project --clean
3. 调整Android Studio的Gradle配置
打开Android Studio后,进入File > Settings > Build, Execution, Deployment > Gradle:
- 选择Use local Gradle distribution,然后指定Chromium生成项目中对应的Gradle版本路径(你可以在
~/Projects/chromium_source/gradle_project/gradle/wrapper/gradle-wrapper.properties里找到要求的Gradle版本,下载后指定到该版本的目录) - 关闭
Offline work选项,避免Gradle无法下载必要的依赖包
4. 定位具体错误信息
你给出的报错信息被截断了,建议查看完整的构建日志:
- 要么在Android Studio的Build窗口里展开所有日志,找到具体的错误提示(比如依赖缺失、NDK路径错误、语法不兼容等)
- 要么直接在终端进入
~/Projects/chromium_source/gradle_project目录,运行./gradlew build,从终端输出里找具体错误:- 如果是依赖找不到:检查项目根目录的
build.gradle里的仓库配置,确保包含Chromium需要的仓库源 - 如果是NDK相关错误:确认
local.properties里的NDK路径正确,且版本和Chromium要求一致 - 如果是Gradle语法错误:基本就是AS版本太低不支持新语法,这时候升级AS到推荐版本是最快的解决办法
- 如果是依赖找不到:检查项目根目录的
5. 检查系统依赖是否齐全
Ubuntu 16.04上构建Chromium需要不少系统依赖,比如python2.7、openjdk-8-jdk(别用JDK9及以上版本)、libssl-dev、libx11-dev等,你可以对照Chromium官方的Linux构建依赖列表,把缺失的依赖都安装上。
内容的提问来源于stack exchange,提问作者Sagar Joshi

