android6.0源码编译及刷机

来源:互联网 发布:js下拉框搜索功能 编辑:程序博客网 时间:2024/06/05 18:19

一,配置编译环境:

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


0 0
原创粉丝点击