02 A33 Android系统源码编译
下载源码包,解包后进入Android-SDK/tools目录.
1 先安装dtc-master和fakeroot工具.
dtc-master安装方法:
解包后,在源码目录下: make && make install
fakeroot安装方法:
解包后,在源码目录下: ./configure ; make && make install
2 安装jdk, 注意因a33提供的是android4的代码,需要使用到原sun公司的jdk. android5及以上可用openjdk.
在终端执行:
./jdk-6u45-linux-x64.bin //它会在当前目录下解包同jdk1.6.0_45
在/etc/bashrc文件里设置环境变量:
export JAVA_HOME=/disk3/myown/A33/Android-SDK/jdk1.6.0_45export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH
设置完成后,注消系统重登后环境变量生效.
可用”java -version” / “which java”确认是不是使用配置的jdk.
如还不是,则需作下面操作:
update-alternatives --install /usr/bin/java java /disk3/myown/A33/Android-SDK/jdk1.6.0_45/bin/java 300update-alternatives --config java //弹出选项后,选择/disk3/myown/A33/Android-SDK/jdk1.6.0_45/bin/java即可
3 编译uboot, linux内核源码:
解包A33_Vstar_Lichee_20170227.tar.bz2后,进入lichee目录下终端操作:
./build.sh config
All available chips:0. sun8iw5p1Choice: 0All available platforms:0. android1. dragonboard2. linuxChoice: 0All available kernel:0. linux-3.4Choice: 0All available boards:0. evb1. maple2. redwood3. vstar4. y25. y3Choice: 3
//第一次编译前,需要给内核准备一个默认配置
cp linux-3.4/a33_vstar_defconfig linux-3.4/.config
//然后执行脚本,编译:
./build.sh
//它会把所用的交叉编译器解包到:lichee/out/sun8iw5p1/android/common/buildroot/external-toolchain
//执行完毕后,在lichee/out/sun8iw5p1/android/common目录下有生成的内核镜像,驱动模块的ko文件, 内存文件系统,uboot的镜像等.
4 android系统源码编译:
解包Android-SDK目录下的A33_Vstar_Android_20170227.tar.bz2后,进入android目录:
在终端上的执行:
. build/envsetup.sh //让android里面配置的环境生效lunch //选择要编译的方案, 选择"6. vstar-eng"extract-bsp //会复制内核镜像和驱动模块make -j4 //编译编译需要几个小时,完成后在 android/out/target/product/vstar/目录下生成 boot.img recovery.img system.img
//在编译过程,如发生下面这样的错误,则安装gperf库即可
File “scripts/make_css_property_names.py”, line 238, in
in_generator.Maker(CSSPropertiesWriter).main(sys.argv)
File “/disk3/myown/A33/Android-SDK/android/external/chromium_org/third_party/WebKit/Source/core/scripts/in_generator.py”, line 119, in main
writer.write_files(options.output_dir)
File “/disk3/myown/A33/Android-SDK/android/external/chromium_org/third_party/WebKit/Source/core/scripts/in_generator.py”, line 77, in write_files
self._write_file(output_dir, generator(), file_name)
File “scripts/make_css_property_names.py”, line 233, in generate_implementation
5 编译x86版的busybox程序, 用pack命令生成镜像时会使用busybox程序的功能.
解包Android-SDK/tools/busybox-1.27.2.tar.bz2源码包后, 进入busybox-1.27.2目录下终端操作:
make menuconfig //弹出配置界面后,无需作任何改变,保存退出即可.make && make install //完成后,"cp _install/bin/busybox /bin/"把busybox程序复制到系统的/bin目录下.
6 在android源码的根目录下,打包出镜像文件,在终端下执行:
pack
//生成文件在Android-SDK/lichee/tools/pack/sun8iw5p1_android_vstar.img
02 A33 Android系统源码编译相关推荐
- Android系统源码编译环境搭建(清华镜像,想编译什么版本都可以,只是有JDK和make的版本要求)
上一次,写得有点匆忙,现在补上清华镜像源码的详细下载方法. 编译Android 5.1源代码并烧录到Nexus4(用的是清华镜像的源) 环境准备: 基本环境:ubuntu-14.04-desktop- ...
- Android系统源码编译最重要的一步
2019独角兽企业重金招聘Python工程师标准>>> 就是下载源码 1.突破网络限制(VPN,代理什么的) 2.买个百度云VIP,找资源.下载速度很快 转载于:https://my ...
- ubuntu-18.04.4 Android系统源码TP1A(Android 13)下载及编译
继上一篇博客介绍了VMware Workstation15 配置ubuntu-18.04.4,这篇主要介绍安装后环境搭建,Android源码的下载与编译.小编当前下载的是当前最新的代码,是主干分支代码 ...
- android系统源码7.1.2_r8下载,编译,运行到nexus5X上,修改源码并编译SDK进行测试
一,学习android系统源码下载,编译的作用 1,可以自己 DIY 自己的rom系统,从系统层面,宏观的加深理解 android系统 2,编译自己的 userdebug(原生root权限) rom, ...
- 编译Android系统源码--搭建环境
下载Ubantu14 Google官方建议使用Ubuntu 14 下载路径 双系统安装参考 下载VMware 建议:VMware Workstation 16 Pro 下载路径 下载Android系统 ...
- android 系统源码介绍
一.系统目录 1.1 系统目录含义 1.2 系统jar作用 Android系统源码目录 system/framework 下各个jar包的用途 am.jar:终端下执行am命令时所需的java库.源码 ...
- 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...
- Android FrameWork学习(二)Android系统源码调试
点击打开链接 通过上一篇 Android FrameWork学习(一)Android 7.0系统源码下载\编译 我们了解了如何进行系统源码的下载和编译工作. 为了更进一步地学习跟研究 Android ...
- android 系统源码调试 局部变量值_如何方便快速的整编Android 9.0系统源码?
点击上方"刘望舒",选择"星标" 多点在看,就是真爱! 作者 : 刘望舒 | 来源 :刘望舒的博客地址:http://liuwangshu.cn/fram ...
最新文章
- Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试
- SHOP++ JTM使用帮助
- centos恢复图形界面_centos图形界面的开启和关闭
- apache建立虚拟主机[转载]
- IBASE structure
- STF简单修改实现安卓多机同屏控制
- js创建,删除,读取文件目录_note
- Maven学习(三)-----Maven本地资源库
- python 框架是什么意思_Python框架有哪些?区别是什么?
- 人工智能算法自动化测试_自动化:算法如何塑造我和你的生活
- 思维模型篇:数据化营销的六脉神剑
- C++ stl库 手写 源码分析
- VS中如何添加报表控件
- python 自动化合并 ts 视频流
- 一文搞懂基因融合(gene fusion)的定义、产生机制及鉴定方法
- 阿里云游戏服务器攻击怎么防御?
- FPGA(一):用Verilog实现流水灯
- 1.25 Tic-tac-toe
- 配置项目外网访问(公网IP+DDNS)
- 使用AKO为TKG提供LoadBalancer