今天我来整理下自己开发CM完成第一个项目HTC a5 的编译过程
发布日期:2021-06-29 15:24:51 浏览次数:2 分类:技术文章

本文共 2339 字,大约阅读时间需要 7 分钟。

1安装环境。
vm+ubuntu12.04 参照网上的去安装即可。
2安装repo
下载repo
http://pan.baidu.com/s/1nugdR1R
打开终端,mkdir ~/bin
将repo复制到bin目录
使用chmod 777 repo
打开~/.bashrc 在最后添加
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
export USE_CCACHE=1
3下载代码
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev 
lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev  lib32z-dev libgl1-mesa-dev g++-multilib 
mingw32 tofrodos python-markdown libxml2-utils xsltproc  lib32readline-gplv2-dev
apt-get install git-core
这里我们需要先设置hosts,否则没法下载google代码
位置 https://github.com/luxiaoming/hosts
执行
bash -c 'wget https://raw.githubusercontent.com/racaljk/hosts/master/hosts -qO /tmp/hosts && sudo mv 
/tmp/hosts /etc/hosts'
重启一下虚拟机即可
mkdir cm12.1
cd cm12.1
repo init -u git://github.com/CyanogenMod/android.git -b cm-12.1
配置项目代码
在.repo目录创建local_manifests文件夹,里面增加一个roomservice.xml文件,文件内容为
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="CyanogenMod/android_device_htc_a5" path="device/htc/a5" remote="github" />
  <project name="CyanogenMod/android_kernel_htc_msm8974" path="kernel/htc/msm8974" remote="github" />
  <project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
  <project name="CyanogenMod/android_hardware_qcom_fm" path="hardware/qcom/fm" remote="github" />
</manifest>
这个是当前我需要下载的项目,自己可以去修改,改为自己需要的即可。
repo sync
 出错的话百度查找去修改
由于国内下载太慢,因此我找的是别人分享在百度云盘的代码,直接下载下来解压使用的,之后若要更新,直接同
步即可。
下载地址为:
http://pan.baidu.com/s/1eRzoYGE
下载或者解压完毕后,我们就需要开始编译了。
4编译代码
sudo apt-get install bison build-essential curl flex git gnupg gperf libesd0-dev libncurses5-dev 
libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop openjdk-7-jdk openjdk-7-jre pngcrush 
schedtool squashfs-tools xsltproc zip zlib1g-dev g++-multilib gcc-multilib lib32ncurses5-dev 
lib32readline-gplv2-dev lib32z1-dev
然后下载
http://pan.baidu.com/s/1eRzoYGE 安装里面的deb两个文件
环境搭建完毕,
进入项目的根节点,即cm12.1目录
由于我们代码缺少htc a5的blods文件,因此我们需要把这些文件找到,一个方法是拿这款手机,连接adb去导出,
这里我没使用这个方法,而是使用下载官网的zip压缩包,解出里面的system.img文件,然后复制到device/htc/a5
下面,然后终端进入device/htc/a5, 使用命令./extract-files.sh . 这里有个点,意思是从当前目录去找blods
文件
操作完毕,在vendor/htc/a5 下就有库文件了,此时代码下载完成,开始配置编译了
source build/envsetup.sh
breakfast a5
prebuilts/misc/linux-x86/ccache/ccache -M 50G
croot
brunch a5
不出意外,编译完成在out下面能找到升级包文件,初步教程完成。

转载地址:https://codegg.blog.csdn.net/article/details/50444263 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:编译libwebviewchromium.so出错
下一篇:system.new.dat一键解包工具,支持Android5.1

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月09日 20时25分38秒