UBUNTU 12.04 (AMD64)编译android开发环境全记录
来源:互联网 发布:编程类书籍 mobi 编辑:程序博客网 时间:2024/06/05 14:14
一:编译环境
系统:ubuntu12.04 amd64 (uname -a查看你的系统架构)
我的x86_64
源码版本:4.1.1+ (全部)这里没-b 取分支
系统更新过:sudo apt-get update upgrade (这个应该不碍)
二:准备编译环境
(一) 编译器
由于Ubuntu 12.04采用了GCC4.6,版本太高。
4.4的版本据说可以,但没试过.
sudo apt-get install gcc-4.5 g++-4.5 g++-4.5-multilib gcc-4.5-multilib
装完后在/usr/bin目录下查看下gcc和g++版本号及配置项:如图
g++同理 系统默认安装了4.6 如果没有先卸载 应该修改下gcc 连接 图中gcc - > gcc -4.5 安装前指向4.6 修改如下
sudo mv gcc gcc.bak sudo ln -s gcc-4.5 gcc (创建软连接)
ln 是linux中一个非常重要命令,这里有几点要注意:
1,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
2,ln的链接又软链接和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会 占用磁盘空间,硬链接没有参 -s,
它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链 接还是硬链接,文件都保持同步变化。
3,软链接是可以跨分区的,但是硬链接只能在同一分区内。
如果你用ls察看一个目录时,发现有的文件或文件夹的颜色和别的不一样,我机子上是蓝色的,那就是一个用ln命令生成的文件,用ls -l命令去察看
,就可以看到显示的link的路径了。
(二)JDK
需要安装jdk6 官网下载 amd64包 注意匹配,安装成功后配置
/etc/profile
我这里直接进行系统你也可以重定位追加到~/.bashrc
java --version 测试下 是否安装成功
(三)相关包安装
安装编译Android需要的工具包,这个步骤是关键,提前安装好一次争取不要make第二次,减少无用功。
sudo apt-get install bison gnupg flex lunch gperf build-essential zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev
libx11-dev ib32readline-gplv2-dev lib32z1-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils xsltproc lib32readline6-dev
三 编译
切入源码根目录
source build/envsetup.sh (可以写入.bashrc ) envsetup.sh 会引入vendor/和device /目录下的vendorsetup.sh脚本 可 新增mmm 模块编译等命令
我们可以使用mmm来编译指定目录的模块,如编译联系人:mmm packages/apps/Contacts/
make -j4 (开了4个线程来处理) 看机子配置
漫长的等待.............................................
期间可能出现的问题(我的没什么问题)
摘了一部分:
如按以上顺序执行,应该比较顺畅,我的一路绿灯啊,呵呵,下面是以往编译留下的种类还算全。主要看解决思路
http://blog.163.com/zhaolin53636848@126/blog/static/490866682012133373414/
如果机子配置了vim taglist 有时可以方便的定位问题。 以往遇到过函数头文件丢失,
或函数未定义等问题 都可以通过vim -t funname 定位.h 文件。
四、编译SDK安装ADT
make & make sdk in Android
make
主要输出是 ~/android/src/out/target/product/generic下面的镜像文件
Generated: (out/target/product/generic/android-info.txt)
Target system fs image: out/target/product/generic/obj/PACKAGING/systemimage_unopt_intermediates/system.img
Install system fs image: out/target/product/generic/system.img
Target ram disk: out/target/product/generic/ramdisk.img
Target userdata fs image: out/target/product/generic/userdata.img
Installed file list: out/target/product/generic/installed-files.txt
载入模拟器运行
export ANDROID_PRODUCT_OUT=out/target/product/generic
cd out/host/linux-x86/bin
./emulator
make sdk
不仅提供make产生的镜像文件,同时,提供编写application的环境,比如adb, android, emulator等等
1)
编译sdk。
配置环境变量 vim ~/.bashrc
新增:
export ECLIPSE_HOME=/usr/lib/eclipse
export PATH=${PATH}:${ECLIPSE_HOME}
编译sdk。
make PRODUCE-sdk-sdk
如果没有添加环境变量会出现以下错误:
Installation Error: Eclipse plugin org.eclipse.equinox.launcher...jar not detected. Found ''. Aborting.
2)
安装eclipse编译adt。
安装eclipse
方式一 :手动安装
sudo apt-get install eclipse (默认安装位子/usr/lib/eclipse
cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86_64/
启动
eclipse
方式二:cd 源码根目录/sdk/eclipse/scripts
./setup_eclipse.sh .
(这部有点问题也可能是我没配置好,执行 ./setuo_eclipse.sh 制定其他安装目录,
后面解压部分找不到文件 路
径问题,这里我只指定为当前目录 没问
题)vi setup_eclipse.sh (没仔细差原因大家可帮我修正下)
这步 执行什么操作呢? 1 下载安装包并解压 2
下载cdt c c++插件并解包
sdk/eclipse/scripts/build_server.sh/home.lin/source/sdk/adt (adt存放的绝对路径)-j4
3)
安装adt
打开eclipse
1,Help->Install New Software->Add.. -> archive...
添加编译好~/adt下的android-eclipse-j4.zip文件 安装 adt---->sdk
2 . 创建Android Virtual Device
编译出来的SDK是没有AVD(Android Virtual Device)的,我们可以通过Android工具查看:
Android list
输出为:
- Available Android targets:
- [1] Android 1.5
- API level: 3
- Skins: HVGA-P, QVGA-L, HVGA-L, HVGA (default), QVGA-P
- Available Android Virtual Devices:
表明没有AVD。如果没有AVD,eclipse编译工程时会出错
创建AVD:
Android create avd -t 1 -c ~/sdcard.img -n myavd
可以Android –help来查看上面命令选项的用法。创建中有一些选项,默认就行了
再执行Android list,可以看到AVD存放的位置
以后每次运行emulator都要加-avd myavd或@myavd选项,这里eclipse才会在你打开的emulator中调试程序
注意:
这样,SDK和ADT就生成了,就按照官方文档把他们整合到Eclipse,这里不再细说了。
建个Android的新工程,试试你自己编译的sdk。
五、编译内核
1. 下载samsung内核源码,checkout jb源码
你可以下载这个通用版 git clone http://github.com/iDroid-Project/kernel_common.git
git clone https://android.googlesource.com/kernel/samsung.git
cd samsung
git branch -a
git checkout -b android-samsung-3.0-jb origin/android-samsung-3.0-jb
2. 下载android交叉编译链
git clone https://android.googlesource.com/platform/prebuilt
3 设置交叉编译环境
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-
4 配置内核
make herring_defconfig
make menuconfig 菜单方式
5. 编译内核
make -j4
六 安装ndk http://ice-k.iteye.com/blog/1174153
一下载安装:
a、下载NDK包,下载地址:
http://www.ideasandroid.com/android/sdk/android-ndk-r4-linux-x86.zip
http://dl.google.com/android/ndk/android-ndk-r4b-linux-x86.zip
b、解压,我们这里将解压到/home/ideasAndroid/dev/目录下。
解压后目录结构为:/home/ideasAndroid/dev/android-ndk-r4
c、配置path路径
命令行执行sudo gedit /etc/profile,在文件末尾加入如下内容:
#set NDK env
NDKROOT=/home/myleft/Android-ndk-r4b
export PATH=$NDKROOT:$PATH
保存后,重启机器。至此 Android NDK 安装完毕。
二.源码设置:
配置path路径
命令行执行sudo gedit /etc/profile,在文件末尾加入如下内容:
#set NDK env
NDK_HOME=源码目录/ndk
export PATH=$ NDK_HOME:$PATH
d、编译sample工程:
执行命令 cd /home/myleft/Android-ndk-r4b/samples/hello-jni 进入示例项目根目录,然后执行如下命令:
ndk-build
您将看到系统会编译出libhello-jni.so
至此示例项目编译完成,可将hello-jni项目导入ADT进行进一步的测试。
- UBUNTU 12.04 (AMD64)编译android开发环境全记录
- ubuntu 12.04 amd64 编译android源码的JAVA环境配置
- Ubuntu-10.04-desktop-amd64操作系统下Android系统源码下载全记录
- ubuntu 14.04 amd64 android 驱动调试环境创建
- android ubuntu编译开发环境搭建总结
- Ubuntu 10.04 amd64,中文输入法乱码、开发Android等
- Ubuntu 12.04 amd64 搭建Apache+PHP+Mysql环境
- ubuntu编译环境android
- Ubuntu下编译安装R全记录
- Ubuntu下编译安装R全记录
- Ubuntu下编译安装R全记录
- Ubuntu下编译安装R全记录
- ubuntu 12.04 android编译环境配置
- ubuntu 12.04 搭建 android 4.0编译环境
- ubuntu-12.04-搭建Android编译环境
- ubuntu 12.04 下安装android编译环境
- Ubuntu amd64下Xen编译错误解决方案
- Ubuntu下Android源码编译及Eclipse开发环境搭建
- Prokect Euler problem 20
- c++类
- java基础--8
- 修改QQ2012登陆界面和Win7开机画面的方法整理(收集于互联网)
- 什么是块级元素和内联级元素(二)
- UBUNTU 12.04 (AMD64)编译android开发环境全记录
- python获取当前日期前后N天或N月的日期
- 杂记之对位操作--掩码的使用
- Tomcat集群配置笔记
- 帧的概念
- Android ListView内存优化
- Tomcat处理HTTP请求源码分析
- B-Tree的C++实现
- 基于配置的spring AOP的一个示例