1 Star 2 Fork 0

ldk/LineageOsManifest

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

LineageOS 编译之翻墙

该项目服务于LineageOS编译, 将AOSP的源代码替换成国内的镜像(中科大与清华的镜像).

结论

  • 如果希望直接编译AOSP请直接使用中科大镜像 或者 清华镜像.
  • 本文直接教程内容来自于LineageOs官网中的Nesux 6p编译wiki.
  • 本文专注于AOSP以及LineageOS相关代码下载被墙的解决方法,其他部分请参照官网wiki.
  • 附上笔者的Manifest仓库: https://gitee.com/ldkxingzhe/LineageOsManifest

下载同步代码

首先现在repo工具, 下载地址: https://storage.googleapis.com/git-repo-downloads/repo, 如果被墙, 走清华的镜像(我是用VPS下载原地址后从服务器拉取的).

下载完毕, 因为每次运行repo命令, repo自身将检查自己的更新。 使用清华镜像:

# 可以放在.bashrc中
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

wiki中使用命令同步代码:

repo init -u https://github.com/LineageOS/android.git -b lineage-15.1
repo sync

不过github中的这个Manifest地址配的都是google的官方地址, 拉取肯定失败。

该仓库与github上的LineageOS仓库保持同步,包括分支名称lineage-15.1. 理论上将https://github.com/LineageOS/android.git 替换成本仓库地址。

不过本文推荐使用国内镜像下载基础包的方式下载: 毕竟网速快, 还有迅雷一类的下载加速软件。 linux使用aria2c下载该镜像网速还可以, 4-5M/s (同时使用10个连接)吧, 不稳定. 下载后一定要校验md5值.

校验完成, 解压:

tar -xf aosp-xxxx.tar  // 需要几分钟时间
cd aosp
repo init -u https://gitee.com/ldkxingzhe/LineageOsManifest -b lineage-15.1
repo sync --sync-force

以后再需要进行同步只需要执行repo sync方法即可, 至于第一次为什么需要强制同步, 好像是仓库被占用, 强制就好. 接下来就需要从github拉取LineageOS的代码了, 也是一个挺费时的操作。 等待吧. 给个脚本:

#sync.sh
#!/usr/bin/zsh

print "Start Sync"
../repo sync $@
for var1 in 1 2 3 4
do
        if [ $? -eq 0 ]
        then
                print "sync complete"
                break
        else
                ../repo sync $@
        fi
done
echo "Done, now Shutdown"


# 执行命令
./sync.sh --force-sync

编译中的特殊情况

编译环境(arch linux + docker)

因为个人使用的是ArchLinux, 滚动式更新, 不想因为编译弄脏了电脑, 更不想因为类库版本出现编译问题。 决定使用docker, 并将home外挂的形式。

镜像使用的是官方的ubunut 16.04base, 安装wiki与aosp的官网教程, 没有问题。

缺点:没有处理docker关于USB的问题, 所以docker中不能使用adb sync等方法操控手机,必须切换到宿主机才可以。 还有文件读写权限问题, 在docker中建一个与宿主机相同的账户即可。 

编译中遇到的问题

  • ninja failed
  • ninja: fatal: fork: Cannot allocate memory

现在临时创建一个swap文件挂上吧, 建议直接8G走起。 我刚开始就只给了6G, 编译过程中报出了第二个错误, 又临时加的. 最后还是要抱怨一下google的Jack编译, 真是很坑。 编译速度老慢啦!!

export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G"

空文件

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ldkxingzhe/LineageOsManifest.git
git@gitee.com:ldkxingzhe/LineageOsManifest.git
ldkxingzhe
LineageOsManifest
LineageOsManifest
lineage-15.1

搜索帮助