---------------------------------------------环境变量设置---------------------------------------------

1.设置jdk环境变量

编译android源码只支持jdk 1.6,所以如果需要编译源码必须下载jdk 1.6,不能下载最新的jdk 1.7,如果不需要编译源码则可以下载1.7版本的。

1.6版本jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html

不要把环境变量配置在/etc/environment和/etc/profile文件中,这样配置的在有的ubuntu版本上会出现退出当前终端后不起作用的问题,在ubuntu12.04上我就遇到了此问题。
把环境变量配置在用户目录.bashrc文件中是最好的选择。
export JAVA_HOME=/home/abc/jdk1.6.0_45
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

然后执行source .bashrc使配置生效即可。

由于ubuntu中可能会有默认的jdk,如openjdk。假如有openjdk的话,所以,为了使默认使用的是我们安装的jdk,还要进行如下工作。
执行:
sudo update-alternatives --install /usr/bin/java java ~/abc/jdk1.6.0_45/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac ~/abc/jdk1.6.0_45/bin/javac 300
通过这一步将我们安装的jdk加入java选单。
然后执行:
sudo update-alternatives --config java
通过这一步选择系统默认的jdk

---------
2.增加别名
alias b='cd ..'   #返回到上一级目录
alias bb='cd ../..'
alias bbb='cd ../../..'
alias g='gedit' #打开文本编辑器

---------------------------------------------eclise相关问题---------------------------------------------
1.可以在终端顺利启动Eclipse,但是从文件夹鼠标双击,或者用起动器启动就会出现如下的内容:

A Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse.No java virtual machine was found after searching the following locations:…

解决方法:从终端进入你的eclipse目录,然后输入:
则命令为:ln -s /home/abc/jdk1.6.0_45/jre jre

或者

解决办法是在终端进入你的eclipse目录,然后输入:
mkdir jre
cd jre

ln -s 你的JDK目录/bin bin

2. 找不到adb
Android --- 64bit Ubuntu 系统下 搭建JDK和SDK环境后,出现adb:error =12错误 
Failed to get the adb version: Cannot run program"/home/xxxx/android/android-sdk/platform-tools/adb": error=2,没有那个文件或目录
错误提示:android-sdk-linux/platform-tools/adb: 没有那个文件或目录。

解决方案:由于是64bit的系统,而Androidsdk只有32bit的程序,需要安装ia32-libs,才能使用。
开启终端:sudo apt-get install ia32-libs

3.安装ADT(Android Development Tools).
启动Eclipse,在导航菜单中选择Help->Install New Softwares->点击Add按钮->在弹出框Add Repository中输入Name:Android(随便填写),
Location:填写地址 https://dl-ssl.google.com/android/eclipse/。点击ok,根据需要选择,然后安装。安装完毕后,重启Eclipse。

4.在Eclipse里配置SDK路径
选择Windows->Preferences->Android,选择Android SDK的位置。我的是解压在D:Program Filesandroid-sdk-windows这里的,选择这里就行了

---------------------------------------------编译android源码---------------------------------------------

编译过程遇到的问题:
/bin/bash: bison: 未找到命令  

sudo apt-get install bison

/bin/bash: xsltproc: 未找到命令
sudo apt-get install xsltproc

external/clearsilver/cgi/cgi.c:22:18: fatal error: zlib.h: 没有那个文件或目录  
sudo apt-get install zlib1g-dev  
  
/bin/bash: flex: 未找到命令  
sudo apt-get install flex  
  
prebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55:22: fatal error: X11/Xlib.h: 没有那个文件或目录  
sudo apt-get install libx11-dev   
  
/usr/bin/ld: cannot find -lncurses  
sudo apt-get install libncurses5-dev
sudo apt-get install gperf

gcc: error trying to exec 'cc1plus': execvp: 没有那个文件或目录
sudo apt-get install build-essential
参考:http://www.cnblogs.com/skyme/archive/2011/01/19/1939606.html

/bin/bash: xmllint: 未找到命令
解决
sudo apt-get install xsltproc
sudo apt-get  install libxml2-utils

javac: 目标发行版 1.5 与默认的源发行版 1.7 冲突
原因:在ubuntu软件中心安装eclipse导致jdk变成了默认的openjdk
~$ java -version
java version "1.7.0_21"
OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-1ubuntu1)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
修改方法:卸载ubutnu软件中心安装的eclipse,重新下载安装eclipse和sun jdk1.6。
sudo apt-get remove openjdk*
此命令会卸载所有依赖openjdk的软件,包括从ubuntu软件中心安装的eclipse。

/usr/include/stdc-predef.h:30:26: fatal error: bits/predefs.h: No such file or directory
compilation terminated.
sudo apt-get install gcc-multilib

错误:
build/core/java.mk:9: *** bin: Target java module does not define any source or resource files. Stop.

解决:
      删除源码根目录下的bin文件夹,这个文件夹是导入eclipse时创建的。

abc@ab-Precision-T1650:~$ sudo update-alternatives --config java
update-alternatives: 错误: no alternatives for java

http://source.android.com/source/initializing.html#configuring-usb-access
Initializing a Build Environment
在12.04,12.10,13.04版本上需要安装以下库
$ sudo apt-get install git gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
但本人的机器上安装上以上lib后还是编译不过,后来发现是因为以前编译使导致了current.txt文件有改变,因此api接口与实际不符,所以编译报错找不到android自带的api。
把current.txt恢复后即可编译通过。
--------------------------------------------

转载于:https://www.cnblogs.com/qq190771752/p/4115683.html

ubuntu配置android开发环境和编译源码遇到的一些问题相关推荐

  1. Ubuntu 配置 Android 开发 环境

    . 果断换Ubuntu了, Ubuntu的截图效果不好, 不能设置阴影 ... 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article ...

  2. Ubuntu Linux下如何配置Android开发环境

    下载和安装Win7系统Android开发环境中讲了怎样在Win7系统中安装Android开发环境,那么怎样在Linux系统中配置Android开发环境呢?本篇文章就将演示如何使用Eclipse.And ...

  3. win7 android 编译环境搭建,在Win7下配置Android开发环境

    在Win7下配置Android开发环境是本文要介绍的内容,主要是来了解并学习Android开发环境,具体关于Android开发环境的详解来看本文. 一.安装 JDK 下载JDK最新版本,下载地址如下: ...

  4. ubuntu 配置android环境,Ubuntu Linux下如何配置Android开发环境

    下载和安装Win7系统Android开发环境中讲了怎样在Win7系统中安装Android开发环境,那么怎样在Linux系统中配置Android开发环境呢?本篇文章就将演示如何使用Eclipse.And ...

  5. Ubuntu下Android开发环境搭建

    Ubuntu下Android开发环境搭建 最近开始学习Android APP开发,首先第一步就是搭建开发环境,在网上找了很多教程,发现大部分的教程都过时了,搞得比较麻烦.其实,现在使用Android ...

  6. 配置Android开发环境(fedora)

    配置Android开发环境(fedora) 最进看见google的Android,体会了下,按照官网上的配置了下,后编了个Hello Android结果发现没能传到模拟器上:于是在windows xp ...

  7. linux 浏览器源码下载,Android开发:图片浏览器源码

    Android 图片浏览器源码,是你学习Android很好的例子,希望对你的学习有帮助. main.xml android:layout_width="fill_parent" a ...

  8. Qlcomm Android 开发环境,编译

    1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通开发板上烧录文件系统 建立高通平台开发环境 高通平台,android和 modem 编译流程分析 高通平台 7620 启动流 ...

  9. 在 CentOS 7 下配置 Android 开发环境

    起因 作为一个 Android 驱动工程师,Linux 很自然的成为了我日常工作的主要操作系统环境. 目前比较流行的 Linux 发行版本已经很多了,流行度最高的应该还是 Ubuntu, 而且 Goo ...

最新文章

  1. 在 AI Studio中利用Paddle实现经典的AlexNet
  2. [别被脱库]—数据库的初恋~
  3. 梯度下降优化方法'原理_优化梯度下降的新方法
  4. freemarker常见语法大全
  5. node获取服务器cpu信息,听说你不知道如何监控Node服务的内存?
  6. 华为云平台使用手册_训练、标注成本节省90%!华为云自动化AI开发平台ModelArts 3.0发布,从训练数据到模型落地一站式打通...
  7. linux 软连接【转】
  8. 正在打dota的过程中,接到淘宝网面试电话
  9. Windows环境搭建Red5流媒体服务器
  10. 三星android智能手机usb驱动程序,三星手机安卓USB驱动Samsung USB Driver for Mobile Phones 1.5.51.0...
  11. 时间片轮转调度算法的模拟时间片轮转调度算法(RR算法)(队尾C++实现)
  12. Linux编程基础之Makefile的使用
  13. Win10使用说明 - 任务栏设置、触摸板手势和使用偏好
  14. html加水平线紧挨文字,html怎么设置水平线与文字的距离
  15. Klayout入门(1)基本图形绘制
  16. ie登录显示登录到ftp服务器,Ie浏览器登录ftp服务器
  17. RabbitMQ:使用Docker构建RabbitMQ高可用负载均衡集群
  18. php判断股票涨停,情绪周期的简单判断与选股(图解)
  19. 当技术为组织所累时怎么办?将你的组织架构旋转90度!
  20. 区块链学习名词详解-Part1

热门文章

  1. Sharepoint学习笔记--Farm Backup Error:Administration 2010 Service is not started
  2. 课后练习----实现窗口的切换
  3. js高程(二)-----继承
  4. C#三层ATM-11.查看交易信息
  5. NetStream.appendBytes, 走向Flash P2P VOD的第一步
  6. flv文件转换,完美解决
  7. hdu4278 小想法
  8. 【错误记录】Groovy 注入方法报错 ( Cannot add new method [hello] for arguments [[]]. It already exists )
  9. 【Groovy】Groovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )
  10. 【C 语言】二级指针作为输入 ( 二维数组 | 二维数组遍历 | 二维数组排序 )