文档章节

Ubuntu16.06编译AndroidM(SoC:Allwinner A64)

ka布
 ka布
发布于 2016/10/31 15:50
字数 456
阅读 114
收藏 0
点赞 0
评论 0

本文旨开记录从全新安装Ubuntu到构建AndroidM编译环境,成功编译全志A64 AndroidM SDK的过程。

一、安装Ubuntu 16.06 x64
编译Android SDK需要64位的Ubuntu,因此选择在机器上安装64位版本的Ubuntu 16.04,桌面版、服务器版均可。安装Ubuntu比较简单,在此不作详细描述。

二、配置编译Android SDK的环境
打开网页https://source.android.com/source/initializing.html,根据里面的步骤进行安装,针对本次在Ubuntu 16.04编译A64 AndroidM SDK,主要要安装的东西有,
1、OpenJDK
上文网址说到,Ubuntu15.04以上要安装OpenJDK 8。从A64 AndroidM SDK的android/build/core/main.mk里面可以找到以下内容

ifneq ($(EXPERIMENTAL_USE_JAVA8),)  
required_version := "1.8.x"  
required_javac_version := "1.8"  
java_version := $(shell echo '$(java_version_str)' | grep 'openjdk .*[ "]1\.8[\. "$$]')  
javac_version := $(shell echo '$(javac_version_str)' | grep '[ "]1\.8[\. "$$]')  
else # default  
required_version := "1.7.x"  
required_javac_version := "1.7"  
java_version := $(shell echo '$(java_version_str)' | grep '^java .*[ "]1\.7[\. "$$]')  
javac_version := $(shell echo '$(javac_version_str)' | grep '[ "]1\.7[\. "$$]')  
endif # if EXPERIMENTAL_USE_JAVA8  

EXPERIMENTAL_USE_JAVA8是没有定义的,也就是说不会使用1.8.x版本。往下跟踪,不难发现

requires_openjdk := false  
ifeq ($(HOST_OS), linux)  
requires_openjdk := true  
endif  

在Linux系统中编译,requires_openjdk会被赋值true,也就是说,需要用到OpenJDK。因此,编译A64 AndroidM SDK需要用OpenJDK 7。Ubuntu 16.04中只有OpenJDK 8,可以通过以下方法安装OpenJDK 7。

sudo add-apt-repository ppa:openjdk-r/ppa      
sudo apt-get update       
sudo apt-get install openjdk-7-jdk 

2、安装必要的依赖

sudo apt-get install git-core gnupg flex bison gperf build-essential \  
  zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \  
  lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \  
  libgl1-mesa-dev libxml2-utils xsltproc unzip u-boot-tools

3、安装gawk
将安装gawk特别提出来,是因为安装完2的依赖项以后,编译lichee仍会报错

awk: line 2: function strtonum never defined  
awk: line 2: function strtonum never defined  
ERROR: build kernel Failed  

这时候,需要安装gawk解决。

sudo apt-get install gawk

三、编译A64 AndroidM SDK
根据平台文档《A64_Tablet SDK Quick Start Guide.pdf》操作即可。

© 著作权归作者所有

共有 人打赏支持
ka布
粉丝 0
博文 20
码字总数 6282
作品 0
东莞
技术主管
pcDuino的u-boot移植与分析

一、准备工作 1.获取支持pcDuino的u-boot源码 https://github.com/linux-sunxi/u-boot-sunxi 在XP下直接点ZIP即可开始下载 2.获取交叉编译链 http://code.google.com/p/smp-on-qemu/downloa...

pc朵拉 ⋅ 2013/07/02 ⋅ 0

CubieTech Will Promote A80 Highperformance Mini PC

(These are 3D simulation pictures of CC-A80. These are not real photoes!!!) We have always had a dream to spread the open source Linux system to millions of households. Closed A......

cubieboard ⋅ 2014/08/07 ⋅ 2

Allwinner 全志科技继续违反 (L)GPL 协议

中国民族企业 全志 Allwinner多次因为不开放涉及Linux/Android/U-Boot内核源代码而被控违反(L)GPL协议,警告之后全志继续使用(L)GPL协议提供二进制,并改代码使其变得不可辨识。Phoronix网站...

oschina ⋅ 2015/03/27 ⋅ 61

2014年4月1日 pcDuino V3今天全球正式发布,4月6日全球同步限量发售,

pcDuino 3照片和配置公布 pcDuino官网链接:http://www.pcduino.com/?pageid=1960 接口图: 基本配置: 硬件 软件

pc朵拉 ⋅ 2014/04/01 ⋅ 3

有关pcduino 内核编译问题

@pc朵拉 你好,想跟你请教个问题:本人刚接触PCduino开发板,因为内核不支持NAT,现在想重新编译内核,到最后发现有过程如下: make[1]: Leaving directory `/arm/kernel/linux-sunxi' cd /a...

sonyxing ⋅ 2013/07/29 ⋅ 2

基于MK802 MiniPC的扩展开发应用-软/硬件修改和扩展

这是一个文章系列的一部分,介绍基于MK802这类MiniPC的扩展开发,并展示他在计算机视觉、机器人控制方面的潜能 欢迎转载,但请保留原始作者信息(Shikai Chen, http://www.csksoft.net),以及...

雨焰 ⋅ 2014/02/21 ⋅ 0

从0开始,制作Cubie版OpenWRT(功能齐全,大小仅有11M)

大家说,从0开始制作系统真是太难了,有失败的,有放弃的。 好吧,给大家一种简单的buildroot的方式,那就是,使用OpenWRT 目前Openwrt对Cubietech的产品已经算大部分支持了,不过官网上还叫...

cubieboard ⋅ 2014/08/20 ⋅ 0

Banana Pi 编译 Bootup u-boot

compile u-boot $ git clone git://github.com/linux-sunxi/u-boot-sunxi.git $ make Cubieboard2_config $ make 2. burn u-boot $ dd if=/dev/zero of=/dev/sdb bs=1M count=1 $ dd if=u-......

sinovoip ⋅ 2014/05/16 ⋅ 0

下载android4.0.3源码error: Exited sync due to fetch...

从网上搜索: 这个其实google是有说明的http://source.android.com/source/downloading.html,为了防止连接数过多,每个ip都需要认证。。。 第一步:从这里 (https://accounts.google.com/o...

雨焰 ⋅ 2012/10/30 ⋅ 0

Cubieboard开发环境与Uboot的SD启动卡制作

原文在我博客:http://blog.csdn.net/andy_wsj/article/details/8515197 拿到Cubieboard已经蛮久了,平时上班比较忙,只能晚上玩一会,年关将近,周末都要加班呀.... 所谓U-boot 移植,其实别...

cubieboard ⋅ 2014/09/03 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Greys Java在线问题诊断工具

Greys是一个JVM进程执行过程中的异常诊断工具。 在不中断程序执行的情况下轻松完成JVM相关问题排查工作 目标群体 有时候突然一个问题反馈上来,需要入参才能完成定位,但恰恰没有任何日志。回...

素雷 ⋅ 20分钟前 ⋅ 0

git从远程仓库拉取代码的常用指令

一种(比较麻烦的)拉代码的方法 git clone //克隆代码库,与远程代码库的主干建立连接,如果主干已经在就不用再clone啦,克隆路径为当前路径下的新创建的文件夹 git checkout -b //本地建立...

Helios51 ⋅ 34分钟前 ⋅ 0

005. 深入JVM学习—Java堆内存参数调整

1. JVM整体内存调整图解(调优关键) 实际上每一块子内存区域都会存在一部分可变伸缩区域,其基本流程:如果内存空间不足,则在可变的范围之内扩大内存空间,当一段时间之后,内存空间不紧张...

影狼 ⋅ 39分钟前 ⋅ 0

内存障碍: 软件黑客的硬件视图

此文为笔者近日有幸看到的一则关于计算机底层内存障碍的学术论文,并翻译(机译)而来[自认为翻译的还行],若读者想要英文原版的论文话,给我留言,我发给你。 内存障碍: 软件黑客的硬件视图...

Romane ⋅ 今天 ⋅ 0

SpringCloud 微服务 (七) 服务通信 Feign

壹 继续第(六)篇RestTemplate篇 做到现在,本机上已经有注册中心: eureka, 服务:client、order、product 继续在order中实现通信向product服务,使用Feign方式 下面记录学习和遇到的问题 贰 or...

___大侠 ⋅ 今天 ⋅ 0

gitee、github上issue标签方案

目录 [TOC] issue生命周期 st=>start: 开始e=>end: 结束op0=>operation: 新建issueop1=>operation: 评审issueop2=>operation: 任务负责人执行任务cond1=>condition: 是否通过?op3=>o......

lovewinner ⋅ 今天 ⋅ 0

浅谈mysql的索引设计原则以及常见索引的区别

索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针. 数据库索引的设计原则: 为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索...

屌丝男神 ⋅ 今天 ⋅ 0

String,StringBuilder,StringBuffer三者的区别

这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。 首先说运行速度,或者说是, 1.执行速度 在这方面运行速度快慢为:StringBuilder(线程不安全,可变) > StringBuffer...

时刻在奔跑 ⋅ 今天 ⋅ 0

java以太坊开发 - web3j使用钱包进行转账

首先载入钱包,然后利用账户凭证操作受控交易Transfer进行转账: Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/Credentials credentials = Wallet......

以太坊教程 ⋅ 今天 ⋅ 0

Oracle全文检索配置与实践

Oracle全文检索配置与实践

微小宝 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部