红联Linux门户
Linux帮助

Ubuntu 16.04 Flymeos插桩适配教程

发布时间:2016-07-13 09:52:18来源:dinphy作者:dinphy
插桩适配前提,安装Ubuntu或者其他linux系统。
 
安装JDK7
sudo apt-get install openjdk-7-jdk
 
Ubuntu 16.04与基于它的版本,需要添加源
sudo add-apt-repository ppa:openjdk-r/ppa  
sudo apt-get update   
sudo apt-get install openjdk-7-jdk
 
安装git、repo
sudo apt-get install repo git
 
新建bin目录,保存repo
mkdir ~/bin
 
指定repo路径
PATH=~/bin:$PATH
 
下载repo
curl https://github.com/FlymeOS/repo > ~/bin/repo
 
设置repo权限
chmod a+x ~/bin/repo
 
新建源码目录flymeos
mkdir -p ~/flymeos
cd 进入源码目录
cd ~/flymeos
 
通过repo init命令的-b参数, 选择需要下载的分支。 通过repo sync命令同步远程代码:
repo init -u https://github.com/FlymeOS/manifest.git -b lollipop-5.1 --no-repo-verify
repo sync --no-clone-bundle -c -j4
 
如果连接一直失败或下载代码过慢,则使用以下命令:
repo init --repo-url git://github.com/FlymeOS/repo.git \
-u https://github.com/FlymeOS/manifest.git \
-b lollipop-5.1 --no-repo-verify
repo sync --no-clone-bundle -c -j4
 
下载完代码以后, 在开源项目根目录, 执行以下命令初始化开发环境:
source build/envsetup.sh
 
创建一个新的机型工程的目录(以demo为例), 后续的移植都在机型目录完成。
mkdir -p devices/demo
cd devices/demo
 
按照如下步骤,完成一个新机型的适配:
flyme config      # 生成机型配置文件Makefile
flyme newproject  # 生成新机型目录
flyme patchall    # 自动插桩
flyme fullota     # 生成适配完成的ROM包
 
* 冲突处理
自动插桩可能会造成代码合并冲突。冲突会以下面的形式标注出来, 开发者需要在厂商的文件中手工解决这些冲突。
 
<<<<<<< VENDOR
原厂的代码块
=======
Flyme的代码块
>>>>>>> BOSP
 
解决原理:对、定、调
* 版本升级
 
可以跟随官方发布的最新ROM包,将已经是适配完成的机型升级到最新版本:
第一次已经同步了所有源码(花了很长时间),第一次已经连接手机进行了插桩和解reject,那么第二次还需要这么麻烦吗?答案是:NO !
 
1、官方源码,执行如下命令可以实现:
repo sync -c
 
2、若是基于第三方base适配的,cd到base目录,执行如下命令更新到最新:
git pull
 
3、执行完第2步,再cd到本机型的目录,执行以下更新:
flyme upgrade
 
4、清理上次的打包文件,重新打包:
flyme clean
flyme fullota
 
本文永久更新地址:http://www.linuxdiyf.com/linux/22323.html