今天我来整理下自己开发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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月09日 20时25分38秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
UR5e机械臂运行一直阻塞在waitForServer
2019-04-29
ROS把pkg1下的某个头文件和源文件生成动态链接库供pkg2调用
2019-04-29
使用urdf_tutorial快速可视化urdf文件
2019-04-29
SQl 数据完整性(随堂博客)
2019-04-29
左连接、右连接、内连接
2019-04-29
MySQL DQL语句基础(随堂博客)
2019-04-29
MySQL基础练习
2019-04-29
利用MySQL进行数据复杂查询(1)
2019-04-29
利用MySQL进行数据复杂查询(2)
2019-04-29
MySQL 表与表之间的关系
2019-04-29
Python数据处理
2019-04-29
Java练习题(面向对象)
2019-04-29
Python 利用os和shutil复制系统文件
2019-04-29
Python 循环输出菱形字符串
2019-04-29
MySQL常见错误总结
2019-04-29
pymysql 的基础应用
2019-04-29
Html+Css实现 启橙装饰网 项目
2019-04-29
JavaScript 实现哥德巴赫猜想
2019-04-29
JavaScript DOM
2019-04-29