Android搭建

来源:互联网 发布:淘宝情趣内衣买家秀 编辑:程序博客网 时间:2024/05/21 21:37

编译环境:ubuntu12.04/16.10

1、解压Android源码

7za x /media/oo/Disk2/nanopi2/android-5.1.1_r6-20160401.tar.7z.001 -onanopi2/
2、JDK配置
查看需要的jdk版本

# Check for the current JDK.## For Java 1.7, we require OpenJDK on linux and Oracle JDK on Mac OS.# For Java 1.6, we require Oracle for all host OSes.requires_openjdk := falseifeq ($(LEGACY_USE_JAVA6),)ifeq ($(HOST_OS), linux)requires_openjdk := trueendifendif# Check for the current jdkifeq ($(requires_openjdk), true)# The user asked for java7 openjdk, so check that the host# java version is really openjdkifeq ($(shell echo '$(java_version_str)' | grep -i openjdk),)$(info ************************************************************)$(info You asked for an OpenJDK 7 build but your version is)$(info $(java_version_str).)$(info ************************************************************)$(error stop)
从脚本build/core/main.mk观察,需要open jdk1.7,这和版权协议有关系,设置requires_openjdk := false;
下载jdk1.7
ubuntu没办法直接下载open-jdk1.7,我到甲骨文公司下载jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

解压jdk

tar -xvf jdk-7u79-linux-x64.tar.gz -C env/jdk1.7
设置jdk环境变量,在.bashrc添加jdk路径

export JAVA_HOME=/home/oo/env/jdk1.7/jdk1.7.0_79export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
验证jdk版本
oo@oo:~/nanopi2$ source ~/.bashrc oo@oo:~/nanopi2$ java -versionjava version "1.7.0_79"Java(TM) SE Runtime Environment (build 1.7.0_79-b15)Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
3、编译Android源码

更新Android环境变量,选择版本,2线程编译,根据自己电脑实际CPU核的数量

source build/envsetup.shlunch aosp_nanopi2-userdebugmake -j2
编译可能会遇到缺库
ia32-libs
sudo dpkg --add-architecture i386sudo apt-get updatesudo apt-get install iceweasel:i386也可以sudo apt-get install libgl1-mesa-dri:i386
其他库
sudo apt-get install bisonsudo apt-get install flexsudo apt-get install gperfsudo apt-get install libxml2-utils
编译的时候,检查一下Android版本信息是否正确

============================================PLATFORM_VERSION_CODENAME=RELPLATFORM_VERSION=5.1.1TARGET_PRODUCT=aosp_nanopi2TARGET_BUILD_VARIANT=userdebugTARGET_BUILD_TYPE=releaseTARGET_BUILD_APPS=TARGET_ARCH=armTARGET_ARCH_VARIANT=armv7-a-neonTARGET_CPU_VARIANT=cortex-a9TARGET_2ND_ARCH=TARGET_2ND_ARCH_VARIANT=TARGET_2ND_CPU_VARIANT=HOST_ARCH=x86_64HOST_OS=linuxHOST_OS_EXTRA=Linux-3.13.0-32-generic-x86_64-with-Ubuntu-12.04-preciseHOST_BUILD_TYPE=releaseBUILD_ID=LMY48GOUT_DIR=out============================================
4、编译Linux内核

加入交叉编译路径

export PATH=/home/oo/env/arm-linux-compile/bin:$PATH
如果配置正确后依然提示错误,原因是缺少32位库,参考文章上面的ia32-libs库安装,即可解决这个问题。

ncurses库,menuconfig配置时候使用

sudo apt-get install libncurses5-dev

mkimage工具

sudo apt-get install uboot-mkimage16.10版本可以能弃用,需要更换安装包sudo apt-get install u-boot-tools

编译:

make nanopi2_android_defconfigmake uImage
生成内核镜像文件:arch/arm/boot/uImage

5:调试

Android调试工具

sudo add-apt-repository ppa:nilarimogard/webupd8sudo apt-get updatesudo apt-get install android-tools-adb










0 0