一,配置编译环境:
1。系统:ubuntu14.04,系统安装好后千万不要升级,如果你已经做过升级操作,你需要重装一遍系统再进行下面的操作。
2。安装openJDK-7,命令:
$sudo apt-get install openjdk-7-jdk
3。设置java环境变量:
在/etc/profile 文件末尾加上:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
4。安装编译依赖的软件
使用如下命令安装依赖软件:
sudo apt-get install 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
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
5。配置Cache
使用如下命令配置cache:
sudo apt-get install ccache
source ~/.bashrc
二,下载cm13(android源码)源码
三,进入源码目录
1. 源码整体重新编译
. build/envsetup.sh
lunch 并选择 cm_bacon-eng
make -j36 2>&1 | tee build.log&&make otapackage
2. 升级包配置和重新签名与安装
mkdir -p ~/work/ota-work/cm13.0/2015-1202
cp out/host/linux-x86/framework/signapk.jar ~/work/ota-work/
cp build/target/product/security/testkey.x509.pem ~/work/ota-work/
cp build/target/product/security/testkey.pk8 ~/work/ota-work/
cp out/target/product/bacon/cm_bacon-ota-bff639002d.zip ~/work/ota-work/cm13.0/2015-1202/cm13.0-2015-1202-unsigned.zip
双击cm13.0-2015-1202-unsigned.zip升级包文件, 打开路径为META-INF/com/googole/android/updater-script的文件,
删掉以下以下行并保存好:
assert(getprop("ro.product.device") == "bacon" || getprop("ro.build.product") == "bacon" || getprop("ro.product.device") == "A0001" || getprop("ro.build.product") == "A0001" || abort("This package is for device: bacon,A0001; this device is " + getprop("ro.product.device") + "."););
assert(oppo.verify_trustzone("TZ.BF.2.0-2.0.0123") == "1");
cd ~/work/ota-work
java -Xmx2048m -jar signapk.jar -w testkey.x509.pem testkey.pk8 ~/work/ota-work/cm13.0/2015-1202/cm13.0-2015-1202-unsigned.zip ~/work/ota-work/cm13.0/2015-1202/cm13.0-2015-1202.zip (重签名)
adb reboot recovery (重启进入recovery mode, 或关机状态同时按住电源按键和音量下按键进入)
手机端依次点击:
点击主菜单界面的Wipe -> 点击Wipe界面的ADVANCED WIPE -> 勾选Dalvik Cache/Data/Internal Storage/Cache -> 滑动<Swipe to Wipe>进度条 -> 依次点击左上角返回箭头回到主菜单界面 -> 点击主菜单界面的Reboot -> 点击Reboot界面的Recovery
Ubuntu电脑端操作:
sudo mtpfs -o allow_other /media/mtp (打开mtp, 第一次完整mtp配置参考Ubuntu 12.04 配置MTP连接手机.xml)
cp ~/work/ota-work/cm13.0/2015-1202/cm13.0-2015-1202.zip /media/mtp/
拷贝完成后:
sudo umount /media/mtp
手机端口重启后:
滑动<Swipe to Allow Modification>进度条 -> 点击主菜单界面的Install -> 找到并点击升级包文件cm13.0-2015-1202.zip -> 滑动升级包安装界面
的<Swipe to Install>进度条进入安装 -> 安装完成后, 点击WIPE CACHES -> 滑动<Swipe to Wipe>进度条 -> 最后点击REBOOT SYSTEM
四,添加代码
1. 下载开发代码库
git clone doom@192.168.1.116:/home/doom/git/android.git
同步服务器最新代码:
git pull origin master
2. 合并代码到cm13.0源码
代码路径: /android/code/cm13.0/
3. 编译(基于完整编译后)
. build/envsetup.sh
lunch 并选择 cm_bacon-eng
make update-api (添加或修改框架资源属性: frameworks/base/core/res/)
mmm frameworks/base/core/res/
mmm frameworks/base/
mmm frameworks/support/xhsdk/
mmm frameworks/support/v7/
mmm packages/apps/XHThemeChooser/
4. 安装并重启
adb remount
adb push android/summary2015/tools/sh/sh /system/bin/
adb push out/target/product/bacon/system/framework/framework-res.apk /system/framework/ (需重启)
adb push out/target/product/bacon/system/framework/framework.jar /system/framework/ (需重启)
adb uninstall com.xhtek.themechooser && adb install out/target/product/bacon/system/app/XHThemeChooser/XHThemeChooser.apk (勿需重启)
adb shell reboot