RK3288编译 Android 5.1 固件
1 准备工作
编译 Android 对机器的配置要求较高:
64 位 CPU
16GB 物理内存+交换内存
30GB 空闲的磁盘空间用于构建,源码树另外占用大约 25GB
- Ubuntu 14.04 操作系统
- 八核i7,编译完成需要一个半小时
安装 JDK 7:
sudo apt-get install openjdk-7-jdk
Ubuntu 14.04 软件包安装:
sudo apt-fast install git-core gnupg flex bison gperf libsdl1.-dev libesd0-dev libwxgtk2.-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool libxml2 libxml2-utils xsltproc lzop libc6-dev schedtool g++-multilib lib32z1-dev lib32ncurses5-dev \lib32readline-gplv2-dev gcc-multilib libswitch-perl libssl1.0.0 libssl-dev
安装 ARM 交叉编译工具链和编译内核相关软件包:
sudo apt-get install gcc-arm-linux-gnueabihf lzop libncurses5-dev libssl1.0.0 libssl-dev
2 下载 Android SDK
百度云下载android sdk,然后使用git更新:
http://www.t-firefly.com/doc/download/page/id/4.html
解压:
cd ~/proj/firefly-rk3288-lollipop
tar xzf /path/to/firefly-rk3288_android5.1_git_20180126.tar.gz
git reset --hard
以后就可以直接从 bitbucket 处更新:
git pull bitbucket Firefly-RK3288:Firefly-RK3288
也可以到 https://bitbucket.org/T-Firefly/firenow-lollipop/commits/branch/Firefly-RK3288 在线浏览源码。
3 编译方法
官方脚本编译
firefly-rk3288 编译
./FFTools/make.sh -d firefly-rk3288 -j8 -l rk3288-userdebug
./FFTools/mkupdate/mkupdate.sh -l rk3288-userdebug
手动编译:
编译uboot
编译uboot:
cd u-boot/
make rk3288_box_defconfig
make -j8
编译内核:
cd /work/rk3288/firefly-rk3288-lollipop/kernel
make firefly-rk3288_defconfig
make firefly-rk3288.img -j8
编译 Android:
cd /work/rk3288/firefly-rk3288-lollipop/
source build.sh
lunch rk3288-userdebug
make -j8
./mkimage.sh
//打包固件
./FFTools/mkupdate/mkupdate.sh -l rk3288-userdebug
Linux_Upgrade_Tool烧录工具在SDK RKtool文件夹中, 并按以下方法安装到系统中,方便调用:
unzip Linux_Upgrade_Tool_v1..zip
cd Linux_Upgrade_Tool_v1.
sudo mv upgrade_tool /usr/local/bin
sudo chown root:root /usr/local/bin/upgrade_tool
烧录打包固件
sudo upgrade_tool uf rockdev/Image-rk3288/Firefly-RK3288_Android5..1_Public_180810.img
先按下reload按键,再重启系统,即可进入烧录模式
RK3288编译 Android 5.1 固件的更多相关文章
- 编译android 4.4.2
1.获取Android源码 (1)下载repo 在用户目录下创建一个bin文件夹来存放repo,并把该路径设置到环境变量中 mkdir ~/bin PATH=~/bin:$PATH 下载repo脚本 ...
- Visual Studio Xamarin编译Android项目出错的解决办法
安装完Xamarin后,编译Android项目时,你会发现好长时间进度都不动,当你取消编译后,会发现其实是出错了,就是因在Android项目在第一次编译时要去google网站上下一个andorid s ...
- 在Mac mini上编译Android源码
参考文章 1.Android 6.0 源代码编译实践 2.编译Android源码致命错误解决方案 实践过程 1.Mac下安装Ubuntu双系统 (1)Ubuntu版本:Ubuntu 15.10 注:实 ...
- 深入理解gradle编译-Android基础篇
深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...
- [原]Ubuntu 14.04编译Android Kernel
如何编译android kernel参考官方文档:https://source.android.com/source/building-kernels.html 在Ubuntu 14.04上编译a ...
- [原]编译Android源码过程中遇到的问题
编译Android源码的过程参考Android官网介绍: 1.下载Android源码的步骤:https://source.android.com/source/downloading.html 2.编 ...
- 转:Android开发实践:用脚本编译Android工程
转自: http://ticktick.blog.51cto.com/823160/1365947 一般情况下,我们都是使用Eclipse+ADT插件或者Android studio软件来编译Andr ...
- 深入浅出 - Android系统移植与平台开发(五)- 编译Android源码(转)
2.3编译Android源码 Android源码体积非常庞大,由Dalvik虚拟机.Linux内核.编译系统.框架代码.Android定制C库.测试套件.系统应用程序等部分组成,在编译Android源 ...
- [转]编译Android源代码常见错误解决办法
1. 编译时出现/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when ...
随机推荐
- python介绍(变量,if,while)
python介绍(变量,if,while): python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹 打发时间,决心开发一个新 ...
- Linux安装配置nfs实现共享远程目录
1. 服务端安装nfs yum -y install nfs-utils rpcbind 2.编辑/etc/exports /etc/exports文件内容格式: <输出目录> [客户端1 ...
- React-Native实战项目-导航器篇(一)
前言:官方文档已经看了一遍,但印象不是很深,于是在mooc上找了个实战学习项目做一做. 本篇目录: 基础导航练习√ 1.ReactNavigation之createStackNavigator导航器案 ...
- Nginx实现rewrite重写
目录 Rewrite基本概述 Rewrite标记Flag Rewrite规则实践 Rewrite场景示例 Rewrite规则补充 rewrite优先级实战 Rewrite基本概述 什么是rewrite ...
- Robot Framework使用技巧之内部变量
[转载] 1.变量的使用 变量可以在命令行中设置,个别变量设置使用--variable (-v)选项,变量文件的选择使用--variablefile (-V)选项. 通过命令行设置的变量是全局变量,对 ...
- window常见操作
cmd查看进程命令 nestat -aon|findstr "端口" 杀进程: taskkill /f /pid 端口号 /f参数强制杀进程 通过注册表删除桌面图标 cmd re ...
- Jenkins配置定时构建项目
general: 源码管理: 构建触发器: 构建后操作:
- windows10 配置SSH连接Github、配置SSH Key
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要设置SSH key. 第1步:创建SSH Key.在用户主目录下[我的电脑是C:\Users\ad],看看有没有.ssh ...
- JavaSE---System类
1.概述 1.1 System类 代表当前java程序的运行平台: 1.2 System类 提供的类方法: getenv():获取系统所有的环境变量: getenv(String name):获取 ...
- sql server教程
简单认识 SQL Server sql server教程 SQL Server 是 Microsoft 开发的一个关系数据库管理系统(RDBMS),现在是世界上最为常用的数据库: SQL Server ...