文档章节

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

ka布
 ka布
发布于 2016/10/31 15:50
字数 456
阅读 206
收藏 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
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
0
2
Allwinner 全志科技继续违反 (L)GPL 协议

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

oschina
2015/03/27
19.4K
61
有关pcduino 内核编译问题

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

sonyxing
2013/07/29
1K
2
2014年4月1日 pcDuino V3今天全球正式发布,4月6日全球同步限量发售,

pcDuino 3照片和配置公布 pcDuino官网链接:http://www.pcduino.com/?page_id=1960 接口图: 基本配置: 硬件 Items Details CPU AllWinner A20 SoC, 1GHz ARM Cortex A7 Dual Core GPU Open......

pc朵拉
2014/04/01
3.1K
3

没有更多内容

加载失败,请刷新页面

加载更多

MySQL主从配置——双主

MySQL主从配置——双主 本人是测试环境,准备了两台安装好mysql的服务器(masterA和masterB),可以保证没数据写入,否则需要先将两台服务器上的数据一致,然后再进行主从配置,步骤是:先m...

弓正
24分钟前
7
0
centos下如何使用 beyond compare 对比工具

我这里的环境是centos7桌面版 三条命令安装beyond compare wget http://www.scootersoftware.com/bcompare-4.2.3.22587.x86_64.rpmrpm --import http://www.scootersoftware.com/RPM-GPG-K......

linuxprobe16
28分钟前
6
0
http协议请求头的意义

GET /day31_Http_306/index.jsp HTTP/1.1: GET请求,请求服务器路径为/hello/index.jsp,协议为1.1 请求头 1.Host:localhost:请求的主机名为localhost2.User-Agent:Mozilla/5.0(Windows NT......

潇潇程序缘
今天
9
0
Netty 简单服务器 (三)

经过对Netty的基础认识,设计模型的初步了解,来写个测试,试试手感 上篇也说到官方推荐我们使用主从线程池模型,那就选择这个模型进行操作 需要操作的步骤: 需要构建两个主从线程组 写一个服务器...

_大侠__
今天
18
0
day02:管道符、shell及环境变量

1、管道符:"|" 用于将前一个指令的输出作为后一个指令的输入,且管道符后面跟的是命令(针对文档的操作):cat less head tail grep cut sort wc uniq tee tr split sed awk等) [root@localho...

芬野de博客
今天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部