AI手机网,短视频直播 硬改改机 一键新机 群控软件 刷机定制

 找回密码
 立即注册
搜索
查看: 29365|回复: 52

Ubuntu 18.04 下编译 LineageOS 15 on 魅族16th 教程

[复制链接]
发表于 2019-7-14 17:49:51 | 显示全部楼层 |阅读模式
自己整理的编译cm的大致步骤,英文能力不错的可以去lineage的官方wiki看看。
没有特别说明,所有的文件操作都在代码的根目录下执行。
0x0 安装adb和fastboot
sudo apt install adb fastboot
安装后执行adb devices可能提示有权限问题,自己百度下提示的错误解决即可。
0x1 环境搭建
先安装几个必要的组件,包括:
bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev openjdk-8-jdk0x2 安装Repo和python/h2>
sudo apt install repo python
0x3 下载LineageOS源码
因为各种原因,推荐使用清华大学镜像源下载源码。官方地址是https://mirrors.tuna.tsinghua.edu.cn/help/lineageOS/
自己看下那个教程,很简单。按照教程init仓库后,可能还需要改个配置
打开.repo/manifest.xml将https://android.googlesource.com改成https://aosp.tuna.tsinghua.edu.cn
然后再repo sync
3.下载机型配置
在项目源码目录下的device目录下,新建一个目录 meizu
然后在meizu 目录下同步2个仓库代码
git clone https://github.com/coderstory/android_device_meizu_16th.git 16th
git clone https://github.com/coderstory/an ... u_sdm845-common.git sdm845
然后需要下载一个845机型的内核源码
源码目录下的kernel目录下新建目录meizu,然后再meizu目录下执行代码
git clone https://github.com/LineageOS/android_kernel_xiaomi_sdm845.git -b lineage-15.1 sdm845
项目还需要依赖一个android_packages_resources_devicesettings 也需要同步
在源码目录下的packages目录下新建目录resources,然后在resources目录下执行
git clone https://github.com/LineageOS/and ... rces_devicesettings .git -b lineage-15.1 devicesettings
当然这些东西都可以写到.repo/local_manifests/local_manifests.xml里面去,repo sync的时候会自动同步。格式差不多是这样
<?xml version="1.0" encoding="UTF-8"?><manifest>        <remote  name="coderstory"          fetch="https://github.com"      review="review.lineageos.org" />      <project name="coderstory/android_device_meizu_16th" path="device/meizu/16th" remote="coderstory" revision="lineage-16.0" />      <project name="coderstory/android_device_meizu_sdm845-common" path="device/meizu/sdm845" remote="coderstory" revision="lineage-16.0" />      <project name="LineageOS/android_kernel_xiaomi_sdm845" path="kernel/meizu/sdm845" remote="coderstory" revision="lineage-16.0" /> <project name="LineageOS/android_packages_resources_devicesettings.git" path="packages/resources/devicesettings" remote="coderstory" revision="lineage-16.0" /></manifest>0x4 make vendor
make vendor主要是拉取官方系统的部分必要文件用于编译lineageos系统。
先确保手机能连adb
然后在源码根目录下执行 . build/envsetup.sh初始化环境
终端进入/device/meizu/16th目录下。执行
chmod 755 *.sh
./setup-makefiles.sh
./extract-files.sh
此时,device/vendor/meizu下会出现个16th的目录,如果没有则将sdm845改名为16th。
0x5 开启缓存
apt install ccache
export USE_CCACHE=1
ccache -M 50G
0x6 编译系统
接下来,需要初始化编译机型,执行
lunch ineage_16th-userdebug
然后执行编译命令 mka bacon


0x7 还原代码
瞎改代码炸了怎么办?执行下面的命令还原所有修改
repo forall -c git reset --hard

发表于 2019-8-7 09:04:23 | 显示全部楼层
虽然没看明白, 但是支持
发表于 2019-8-7 09:06:12 | 显示全部楼层
caishang 发表于 2019-8-7 09:04
虽然没看明白, 但是支持

-----------------
发表于 2019-8-7 12:37:50 | 显示全部楼层
嗯,这个岁万想学习的R
发表于 2019-8-7 16:17:38 | 显示全部楼层
;好苦恼Z
回复

使用道具 举报

发表于 2019-8-7 22:28:36 | 显示全部楼层
好苦恼M
回复

使用道具 举报

发表于 2019-8-8 06:13:06 | 显示全部楼层
学习了~~~~~~~~~~~~~~J
回复

使用道具 举报

发表于 2019-8-8 12:21:47 | 显示全部楼层
不知道能不能用



                                             
    发表于 2019-8-8 12:23:29 | 显示全部楼层
    感谢分享~~



                                               
      发表于 2019-8-8 12:25:11 | 显示全部楼层
      感谢楼主分享,收下了



                                                 
        您需要登录后才可以回帖 登录 | 立即注册

        本版积分规则

        技术交流售后群

        QQ|小黑屋|手机版|站点找错-建议|AI手机网 |Sitemap



        GMT+8, 2024-5-20 09:46 , Processed in 0.216443 second(s), 27 queries .

        Powered by Discuz! X3.4

        Copyright © 2001-2021, Tencent Cloud.

        快速回复 返回顶部 返回列表