Ubuntu 14.04 编译Oneplus One Bacon CM13.0

1. 编译环境配置

1.1.Install all libs:
sudo apt-get install openjdk-7-jdk git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc lib32readline-gplv2-dev

1.2.Install ia32-libs:
sudo dpkg –add-architecture i386
sudo apt-get update
cd /etc/apt/sources.list.d
echo “deb http://old-releases.ubuntu.com/ubuntu raring main restricted universe multiverse” > ia32-libs-raring.list
sudo apt-get update
sudo apt-get install ia32-libs
sudo rm ia32-libs-raring.list
sudo apt-get update

1.3.Setting environment variables, edit the file: /etc/profile.d/androidEnv.sh

JDK_PATH="/usr/lib/jvm"export JAVA_HOME="$JDK_PATH/java-7-openjdk-amd64"export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/binexport ANDROID_HOME="/home/ds/tools/sdk"export PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/toolsexport STUDIO_HOME="/home/ds/tools/android-studio/"export PATH=$PATH:$STUDIO_HOME/bin

1.4.sudo apt-get install schedtool
1.5.sudo apt-get install maven

2. 下载源码和机型代码

Init and sync

repo init -u git://github.com/CyanogenMod/android.git -b cm-13.0
repo sync
. build/envsetup.sh
breakfast bacon (Download product source code)

At last, add these lines to the file .repo/local_manifests/roomservice.xml, and repo sync again.

<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />

The contents of .repo/local_manifests/roomservice.xml as follows:

<?xml version="1.0" encoding="UTF-8"?><manifest>  <project name="CyanogenMod/android_device_oneplus_bacon" path="device/oneplus/bacon" remote="github" />  <project name="CyanogenMod/android_device_oppo_common" path="device/oppo/common" remote="github" />  <project name="CyanogenMod/android_kernel_oneplus_msm8974" path="kernel/oneplus/msm8974" remote="github" />  <project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />manifest>

3. 编译和生成OTA升级包

choosecombo (选择编译选项和编译,也可以直接运行brunch bacon以默认选项开始编译)
make -j24 2>&1 | tee build.log
make otapackage | tee otapackage.log

4. 安装OTA升级包

adb reboot recovery
wipe system/cache/data
install ota zip

FAQ:

  • Edit this file .repo/local_manifests/roomservice.xml, and add these lines:
  <project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />

, after this then run repo sync.

  • sudo apt-get install schedtool
  • sudo apt-get install maven

更多相关文章

  1. AsyncTask 源码解析
  2. 编译android4.0出现jdk版本问题
  3. 安卓编译环境设置
  4. flutter使用C代码库----android篇
  5. Ubuntu 16.04 编译全志6.0Android源码
  6. Android.mk写法
  7. AndroidKiller高版本反编译失败解决
  8. 编译cubieboard android 源码过程详解之(七):lichee build
  9. 解读:下载Android源码时为什么对Python版本有要求

随机推荐

  1. Android客户端性能测试常见指标及测试方
  2. Android之JAVASe基础篇-面向对象-高级部
  3. Android(安卓)通过反射调用获取内置存储
  4. 正确设置Android(安卓)Support Library
  5. Android(安卓)Things HelloWorld
  6. Android(安卓)-- Broadcast接收
  7. [原]零基础学习SDL开发之在Android使用SD
  8. android APP检测版本更新以及后台服务更
  9. android软键盘以及输入法影响界面布局的
  10. Android(安卓)Studio学习之基本调试Debug