CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 16416|回复: 12

Cubieboard2 android编译及制作固件

[复制链接]
发表于 2015-5-20 09:35:53 | 显示全部楼层 |阅读模式
本帖最后由 蓝天-彭 于 2017-1-3 15:22 编辑

                                 1.搭建Ubuntu12.04android编译环境
1.1.安装JDK
$wgetdl.cubieboard.org/software/tools/android/jdk1.6.0_45.tar.gz
解压:$sudotar -xvf jdk1.6.0_45.tar.gz
配置环境变量:
$sudo vim ~/.bashrc
增加:
JAVA_HOME=/jdk_path
exportJRE_HOME=/jdk_path/jre
exportPATH=$JAVA_HOME/binJRE_HOME/binPATH
jdk_path为你下载解压后的jdk路径。
保存后使其生效且验证是否成功:
$source~/.bashrc&&java -version
1.png
                                
出现以上所示说明成功
                                 1.2.安装编译所需包(Ubuntu 12.04):
$sudoapt-get update
$sudoapt-get upgrade
$sudoapt-get install build-essential u-boot-tools uboot-mkimagebinutils-arm-linux-gnueabihf
$sudoapt-get install gcc g++ gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihfg++-multilib
$sudoapt-get install cpp-arm-linux-gnueabihf libusb-1.0-0 libusb-1.0-0-devwget fakeroot
$sudoapt-get install kernel-package zlib1g-dev libncurses5-devbuild-essential
$sudoapt-get install texinfo texlive ccache zlib1g-dev gawk bison flexgettext uuid-dev
$sudoapt-get install ia32-libs git gnupg flex bison gperf build-essentialzip
$sudoapt-get install curl libc6-dev x11proto-core-dev libx11-dev:i386lib32ncurses5-dev
$sudoapt-get install libreadline6-dev:i386 mingw32 tofrodospython-markdown
$sudoapt-get install libxml2-utils xsltproc zlib1g-dev:i386libgl1-mesa-dev
                                 2.下载 Android源码包(建议下载压缩包)
1)github 下载
2)在百度云下载源码压缩包:
3.内核编译
  解压后的源码包分 2个目录,一个是android 另一个是lichee,内核编译都是在lichee 下执行的。lichee主要是编译一些设备需要的模块,驱动,内核等,还有配置文件。编译出来的模块和内核会在整体编译 android时拷贝过去。
编译步骤如下:
进入内核目录
$cdlichee/linux-3.4
拷贝内核配置文件
$sudocp arch/arm/configs/cubieboard2_config .config
返回到lichee目录
$cd..
编译内核
$./build.sh -p sun7i_android
等待.......
编译完成:
5.png
                                
编译完后你进入 lichee/out/android/common目录,在这里可以下看到编译的产物。
5.png
                                 4.整体编译
    内核编译完后,进入android目录下。这里执行整个固件的编译,生成system.img,userdata.img等 镜像,最后将它们打包成我们要的固件。
步骤如下:
le@le:/work/le/a20-android$cd android
le@le:/work/le/a20-android/android$source build/envsetup.sh
le@le:/work/le/a20-android/android$lunch
5.png
                                
输入 15(选择 sugar_cubieboard2-eng)
                                
拷贝内核和模块:
le@le:/work/le/a20-android/android$extract-bsp
编译:
le@le:/work/le/a20-android/android$make -j8
等待...........
编译完成:
5.png                                 
编译完成后打包:
le@le:/work/le/a20-android/android$pack
最后就会在 lichee/tools/pack中生成我们最终的固件。
5.png                                 
至此,可以进行下一步的刷机工作:Cubieboard2刷机指导






回复

使用道具 举报

发表于 2015-6-13 08:13:14 | 显示全部楼层
本帖最后由 joyhope 于 2015-6-13 11:51 编辑

我编译lichee 的时候,linux kernel 产生,在编译mali module的时候,报告错误。说路径不在,但是自己看路径等,都有的。
  1. make -C /mnt/dev2/android/lichee/linux-3.4 M=/mnt/dev2/android/lichee/linux-3.4/modules/mali/DX910-SW-99002-r3p2-01rel2/driver/src/devicedrv/ump modules
  2. make[2]: Entering directory `/mnt/dev2/android/lichee/linux-3.4'
  3.   CC [M]  /mnt/dev2/android/lichee/linux-3.4/modules/mali/DX910-SW-99002-r3p2-01rel2/driver/src/devicedrv/ump/common/ump_kernel_common.o
  4. arm-linux-gnueabi-gcc: error: directory: No such file or directory
  5. arm-linux-gnueabi-gcc: error: directory": No such file or directory
  6. make[3]: *** [/mnt/dev2/android/lichee/linux-3.4/modules/mali/DX910-SW-99002-r3p2-01rel2/driver/src/devicedrv/ump/common/ump_kernel_common.o] Error 1
复制代码
不理解为什么会有这个错误.
回复 支持 反对

使用道具 举报

发表于 2015-6-13 15:21:31 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2015-6-13 15:38:15 | 显示全部楼层
编译android遇见如下问题
  1. target Java: android-ex-variablespeed (out/target/common/obj/JAVA_LIBRARIES/android-ex-variablespeed_intermediates/classes)
  2. frameworks/ex/variablespeed/src/com/android/ex/variablespeed/EngineParameters.java:19: cannot access android.media.AudioManager
  3. bad class file: android/media/AudioManager.class(android/media:AudioManager.class)
  4. unable to access file: corrupted zip file
  5. Please remove or make sure it appears in the correct subdirectory of the classpath.
  6. import android.media.AudioManager;
  7.                     ^
  8. make: *** [out/target/common/obj/JAVA_LIBRARIES/android-ex-variablespeed_intermediates/classes-full-debug.jar] Error 41
复制代码
不知道如何解决。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-15 08:51:04 | 显示全部楼层
joyhope 发表于 2015-6-13 15:38
编译android遇见如下问题不知道如何解决。

先洗一遍再编一下试下:make installclean
回复 支持 反对

使用道具 举报

发表于 2015-6-15 10:20:39 | 显示全部楼层
我是从压缩包下载,然后编译的。 应该本身就是clean的。 会按照你的建议再尝试一下。(编译比较慢。)
回复 支持 反对

使用道具 举报

发表于 2015-8-10 15:44:05 | 显示全部楼层
为什么我解压的时候就出现错误呀?耗时近一天下载的源码包。解压后出现错误,郁闷。难道还要再重新下载吗?我通过百度云盘下载的 解压的出错文件为:A20_android.tar.gz
tar: Skipping to next header

gzip: stdin: invalid compressed data--format violated
tar: Child returned status 1
tar: Error is not recoverable: exiting now
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-10 20:06:07 | 显示全部楼层
ericwang 发表于 2015-8-10 15:44
为什么我解压的时候就出现错误呀?耗时近一天下载的源码包。解压后出现错误,郁闷。难道还要再重新下载吗? ...

解压工具问题把,换一个试下
回复 支持 反对

使用道具 举报

发表于 2015-8-11 09:11:22 | 显示全部楼层
蓝天-彭 发表于 2015-8-10 20:06
解压工具问题把,换一个试下

谢谢您的回复,我试过了,包括回到Windows下试过了,都不行,可能文件包损坏了。我昨晚尝试通过git clone 下载,今早上来发现又出错了,郁闷!错误提示为:
git clone https://bitbucket.org/cubietech/a20-android4.2_android.git
Cloning into 'a20-android4.2_android'...
remote: Counting objects: 204697, done.
remote: Compressing objects: 100% (135378/135378), done.
error: RPC failed; result=56, HTTP code = 2002 MiB | 44 KiB/s   
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-11 16:30:23 | 显示全部楼层
ericwang 发表于 2015-8-11 09:11
谢谢您的回复,我试过了,包括回到Windows下试过了,都不行,可能文件包损坏了。我昨晚尝试通过git clone ...

github里SDK下载确实有问题,太大了数据传输会失败,建议还是重新在百度网盘上下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-4-20 19:36 , Processed in 0.030827 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部