编译CM14.1(sudmod71.1)过程记录

编译CM14.1内存要求很高,至少8G以上,我的6G也可以搞定,交换空间分配大一点。

1、安装平台

建议安装Deepin 15.3桌面版系统,系统UI好看。

2、配置环境

(1)安装编译依赖库

1 sudo apt-get  updade
2 sudo apt-get  upgrade
3 sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk3.0-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-8-jre openjdk-8-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev gcc-multilib maven tmux screen w3m ncftp liblz4-tool

(2)建立保存repo文件的bin文件夹

1 #新建文件夹
2 mkdir ~/bin
3 #设置路径
4 PATH=~/bin:$PATH
5 #下载repo
6 curl https://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
7 #赋予权限
8 chmod a+x ~/bin/repo

(3)设置 github 帐号user.name和邮箱user.email

1 git config --global user.name username
2 git config --global user.email [email protected]

(4)更新/替换系统 hosts,轻松访问国外站点

1 wget https://raw.githubusercontent.com/racaljk/hosts/master/hosts -qO /tmp/hosts
2 sudo sh -c ‘cat /tmp/hosts > /etc/hosts‘

如果出现 sudo: 无法解析主机:dinphy-500-310cn: 连接超时 类似的问题,请参考这里解决:http://www.cnblogs.com/dinphy/p/5660645.html

3、下载CM14.1源码并编译

(1)新建源码文件夹并初始化

#新建文件夹
mkdir ~/SudaMod
#进入目标文件夹
cd ~/SudaMod
#初始化源码
repo init -u git://github.com/SudaMod/android.git -b sm-3.0
#同步下载源码
repo sync -c -f -j8 --force-sync --no-clone-bundle

如果同步AOSP源码过程比较慢,可以更改谷歌源码地址为国内的地址,如清华大学镜像源的。方法是:

只需要将.repo/manifest.xml 把其中的 aosp 这个 remote 的 fetch 从 https://android.googlesource.com 改为 https://aosp.tuna.tsinghua.edu.cn/

1 <manifest>
2
3    <remote  name="aosp"
4 -           fetch="https://android.googlesource.com"
5 +           fetch="https://aosp.tuna.tsinghua.edu.cn"
6             review="android-review.googlesource.com" />
7
8    <remote  name="github"

修改后,可以继续同步 repo sync -c -f -j8 --force-sync --no-clone-bundle 。

(2)添加设备编译三套件及依赖的文件(这一步可以忽略,也可以加入~/SudaMod/.repo/manifests/snippets/cm.xml的倒数第二行),例如我的设备:

<!-- Start Device -->
  <project path="device/xiaomi/ido" name="CyanogenMod/android_device_xiaomi_ido" remote="github" revision="cm-14.1" />
  <project path="vendor/xiaomi/ido" name="dinphy-dev/sudamod_vendor_xiaomi_ido" remote="github" revision="sm3.0" />
  <project path="kernel/xiaomi/msm8916" name="CyanogenMod/android_kernel_xiaomi_msm8916" remote="github" revision="cm-14.1" />
  <project path="external/sony/boringssl-compat" name="CyanogenMod/android_external_sony_boringssl-compat" remote="github" revision="cm-14.1" groups="pdk"  />
  <project path="external/stlport" name="CyanogenMod/android_external_stlport" remote="github" revision="cm-14.1" groups="pdk"  />
  <project path="packages/resources/devicesettings" name="CyanogenMod/android_packages_resources_devicesettings" remote="github" revision="cm-14.1" groups="pdk"  />
<!-- END Device -->

设备编译三套件及依赖的文件也可以单独 git clone ,然后放入相应的文件夹下。我的设备代号是ido,处理器是msm8916,所以放入路径可以参考上面path中引号的部分。

(3)源码同步完成后,开始编译

#编译加速设置
echo "export USE_CCACHE=1" >> ~/.bashrc
#给定一个50G的空间,缩短编译时间
~/SudaMod/prebuilts/misc/linux-x86/ccache/ccache -M 50G
#初始化编译,注意“ . ”别忘了
 . build/envsetup.sh
#编译机型brunch "device name",我的是ido
brunch sm_ido-userdebug

4、我的内存为6G,编译时提示内存空间不足的错误和jack错误,如果有出现同样的问题,请参考:http://www.cnblogs.com/dinphy/p/6138803.html

5、编译结束。

时间: 2024-10-16 13:12:47

编译CM14.1(sudmod71.1)过程记录的相关文章

[原创]Nexus5 源码下载、编译、真机烧录过程记录

asop使用清华镜像源https://mirror.tuna.tsinghua.edu.cn/help/AOSP/ 一开始使用每月初始化包的方式因为无法搞定版本的问题,没能通过编译,无奈,老老实实一点点下载吧 1.源码下载 mkdir aosp cd aosp repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-6.0.1_r1sh myrepo.sh 版本号,一定要选对,不然就要来回折腾,因为虽

编译安装spine-0.8.8h 过程记录

环境:CentOS6.8+spine 0.8.8h 下载: http://www.cacti.net/downloads/spine/cacti-spine-0.8.8h.tar.gz //安装依赖包 yum install gcc net-snmp-devel mysql-devel dos2unix autoconf automake libtool //解压 tar zxvf cacti-spine-0.8.8h.tar.gz //进入目录 cd cacti-spine-0.8.8h //

mingw编译ffmpeg+x265过程记录

mingw编译ffmpeg+x265过程记录 email: [email protected] 工作环境 OS:windows 7 1.相关资源下载 Ffmpeg-2.3     http://ffmpeg.org/releases/ffmpeg-2.3.3.tar.bz2 X265-1.3下载  https://bitbucket.org/multicoreware/x265/wiki/Home http://ffmpeg.zeranoe.com/builds/source/external_

openWRT自学---自己编译的第一个 backfire10.03 版本的过程记录(转)

基于 backfire10.03(从http://downloads.openwrt.org/backfire/10.03/ 中下砸的源码包backfire_10.03_source.tar.bz2:后来确认不应该从这里下载:而是应该从svn下载),编译用于H618B的版本 -- BRCM53xx:过程记录如下: 1.sdk自带的luci版本是0.9.0,结果编译luci出错: /home/hadoop/openwrt/backfire_10.03/build_dir/target-mipsel

[转]Caffe安装过程记录(CentOS,无独立显卡,无GPU)

Caffe安装过程记录(CentOS,无独立显卡,无GPU) 原文地址:http://www.aiuxian.com/article/p-2410195.html 参考资料: http://www.tuicool.com/articles/uiuA3e Caffe 安装配置(CentOS + 无GPU) http://blog.sina.com.cn/s/blog_990865340102vewt.html caffe 安装配置(CentOS 6.5 + 无GPU) http://www.cnb

QT 5 配置MySQL 过程记录

配置过程记录一下,年纪大了记性很差-- 0 安装环境 Win10x64+Qt5.5(x86)+VS2010(x86) 1 安装MySQL 注意: 以下是按x64版本安装的,x86版本的安装流程没有区别. MySQL安装的版本应该与Qt的版本相对应,切记!切记! 1.1 下载 http://dev.mysql.com/downloads/mysql/ 选择 mysql-5.7.14-winx64.zip下载 1.2 解压 解压缩文件到安装目录 注意:不要在安装目录中保留空格 1.3 配置 (1)将

Hadoop2.2.0安装过程记录

1    安装环境1.1    客户端1.2    服务端1.3    安装准备    2    操作系统安装2.1.1    BIOS打开虚拟化支持2.1.2    关闭防火墙2.1.3    安装VNC3    JAVA安装    3.1    配置目的3.2    配置过程3.3    结果验证4    主机名配置4.1    配置目的4.2    配置过程4.3    结果验证5    增加hadoop用户5.1    配置目的5.2    配置过程5.3    结果验证6    Had

【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把环境搭建起来了,把过程记录下来分享给大家. 内容目录: 1.默认基础环境 2.NDK下载与配置 3.安装Cygwin 4.用NDK编译 5.安装

Java前端编译:Java源代码编译成Class文件的过程

Java前端编译:Java源代码编译成Class文件的过程 在上篇文章<Java三种编译方式:前端编译 JIT编译 AOT编译>中了解到了它们各有什么优点和缺点,以及前端编译+JIT编译方式的运作过程. 下面我们详细了解Java前端编译:Java源代码编译成Class文件的过程:我们从官方JDK提供的前端编译器javac入手,用javac编译一些测试程序,调试跟踪javac源码,看看javac整个编译过程是如何实现的. 1.javac编译器 1-1.javac源码与调试 javac编译器是官方