linux android 下源码编译问题总结(一)
对于各种包的安装和解压命令
tar格式
#tar -zxvf*****.tar.gz(tar -xf *****.tar)
#./configure
#make
#make install
rpm包
#rpm -ivh *****.rpm(安装)
#rpm -Uvh *****rpm(升级,只对已经安装了rpm包的) :em11
安装包
sudo apt-get install xx (xx 为包名)
sudo gedit ~/.bashrc 常用的路径设置文件
source ~.bashrc 执行完上面的添加操作后 要用此命令更新
由于 ubuntu 集成时去掉了 sun 的 JDK 和源 集成了自己的 OpenJdk
最好集成 sun 的JDK 不然有问题 找不到解决的方法
用命令 java -version 查看以下版本
要手动添加下载源
地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
Java 6: for Gingerbread and newer$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"$ sudo apt-get update$ sudo apt-get install sun-java6-jdkJava 5: for Froyo and older$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"$ sudo apt-get update$ sudo apt-get install sun-java5-jdk
但是上面源也有问题
要手动下载 sun 的 JDK
如果要编译 2.3.以下的版本请安装 JDK5
2.3 或以上请安装JDK6
下载 rpm.bin 格式 64位文件(官方要求64位 不然会有问题)
sudo chmod a+x 文件
./x.rpm.bin 文件 进行安装
安装编译需要的 包Installing required packages (Ubuntu 10.04 -- 11.10)You will need a 64-bit version of Ubuntu. Ubuntu 10.04 is recommended. Building using a newer version of Ubuntu is currently only experimentally supported and is not guaranteed to work on branches other than master.$ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \ x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \ libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \ libxml2-utils xsltprocOn Ubuntu 10.10:$ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.soOn Ubuntu 11.10:$ sudo apt-get install libx11-dev:i386
我是在
Ubuntu 10.04 安装成功
Installing required packages (Ubuntu 12.04)Building on Ubuntu 12.04 is currently only experimentally supported and is not guaranteed to work on branches other than master.$ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 \ g++-multilib mingw32 openjdk-6-jdk tofrodos python-markdown \ libxml2-utils xsltproc zlib1g-dev:i386
下尝试不成功 安装 JDK 有问题 且 在此版本下 机器抗不起了
如果在编译过程中出现问题 只要归结为两类
一类是由于 少了参与编译的包
二是编译路径设置不正确
下载源码的过程请参考我的上篇文章
下载完成后
可以运行 . build/envsetup.sh 来包含 模块编译指令 可以对单个模块进行编译
在源码目录下 运行 make 会编译全部模块
注意: 此处不会编译 SDK 要编译SDK 需另外执行 make SDK
也不会执行 编译 ADT
注意,我们是先执行2),再执行3)。因为在执行./build_server.sh时,会把生成的SDK清除了。
用上了新的源码,adt这个调试工具也得自己来生成,步骤如下:
若下载的是cupcake源码需进入:out/host/linux-86/sdk/tools/eclipse/scripts目录,如果下载的是主线代码,需要进入:sdk/eclipse/scripts目录(才会有build_server.sh脚本命令),执行如下命令
./build_server.sh 你想放ADT的路径
检查 AVD
android list 会显示 所有的能用的虚拟机和SDK
./android 会运行SDK Manager
create -n mm -t 10 会生成 AVD 参数请查看 指令
exportJAVA_HOME=/usr/local/bin/sun-jdk1.6.0_32exportJRE_HOME=$JAVA_HOME/jre
exportCLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
exportPATH=$JAVA_HOME/bin:$PATH:$JRE_HOME/bin
exportPATH=${PATH}:${ANDROID_PRODUCT_OUT_BIN}
exportANDROID_PRODUCT_OUT=~/bin/out/target/product/generic
exportANDROID_PRODUCT_OUT_BIN=~/bin/out/host/linux-x86/bin
exportPATH=$PATH:/root/bin/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86
exportANDROID_SWT=~/bin/out/host/linux-x86/framework
exportECLIPSE_HOME=~/eclipse
exportPATH=${PATH}:${ECLIPSE_HOME}
此为在编译中用到相关路径的设置 自己的就按照本人的路径设置
欢迎各位同学加入 android 技术群 155595043个人微博: http://weibo.com/338226333有问题可以微博商讨
更多相关文章
- [置顶] android ant 打包全过程 包含library,so,jar,混淆,签名
- 〖Android〗联想K860 logcat CM11.0出错信息及解决
- Android(安卓)-- sqlite数据库随apk发布
- 解决gradle下载慢,下载失败的办法
- Android(安卓)学习资料记录汇总
- Android天天数钱游戏源码
- 关于android 获得图片的总结
- Android(安卓)AsyncTask 完美解析 看不懂源码你就输了
- windows环境下 android 源码阅读