ubuntu配置android开发环境和编译源码遇到的一些问题
---------------------------------------------环境变量设置---------------------------------------------
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恢复后即可编译通过。
--------------------------------------------
ubuntu配置android开发环境和编译源码遇到的一些问题的更多相关文章
- Ubuntu 配置 Android 开发 环境
. 果断换Ubuntu了, Ubuntu的截图效果不好, 不能设置阴影 ... 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article ...
- [转]Ubuntu 配置 Android 开发 环境
转自:http://blog.csdn.net/shulianghan/article/details/20855541 1. 安装 Android Studio (1) 下载Android Stud ...
- ubuntu 配置android开发环境
本文的下载地址都是androiddevtools,下载地址:http://www.androiddevtools.cn/ 一.安装android sdk 解压文件,全部放到/opt/Java/andr ...
- Ubuntu Linux下如何配置Android开发环境
下载和安装Win7系统Android开发环境中讲了怎样在Win7系统中安装Android开发环境,那么怎样在Linux系统中配置Android开发环境呢?本篇文章就将演示如何使用Eclipse.And ...
- Ubuntu搭建Android开发环境
前言 由于迁移到新的笔记本,所以Android开发环境须要又一次配置了.android官网有配置教程,我正好回想一遍 配置Java环境 下载jdk.官网地址:http://www.oracle.com ...
- 安装docker及配置Android开发环境
安装docker 官方原来的安装docker的脚本https://get.docker.com/已经过时,现在使用的是https://get.docker.com/,命令如下: curl -s htt ...
- cocos2d-x3.0 macOS下配置Android开发环境以及使用cocos2d-console来新建执行project
下面是子龙山人录制的关于cocos2d-x3.0的视频教程,macOS下配置Android开发环境.使用cocos2d-console来新建执行project.怎样执行cocos2d-x 3.0win ...
- 基于Android开发的天气预报app(源码下载)
原文:基于Android开发的天气预报app(源码下载) 基于AndroidStudio环境开发的天气app -系统总体介绍:本天气app使用AndroidStudio这个IDE工具在Windows1 ...
- ubuntu上Android开发环境及依赖项
[时间:2018-07] [状态:Open] [关键词:ubuntu,系统安装,开发环境搭建,android,工具集] Ubuntu系统版本:v18.04 LTS c/c++ dev (build-e ...
随机推荐
- 解决:安装SQl 2008为SQL Server代理服务提供的凭据无效
Q: 在Windows Server 2008安装SQL Server 2008出现的问题: 安装时在“服务器配置”环节出现以下问题:为sql server代理服务提供的凭据无效为sql server ...
- ortp使用详解1
一: 关于 oRTP oRTP 是一款开源软件,实现了 RTP 与 RTCP 协议.目前使用 oRTP 库的软件主要是linphone(一款基于IP 进行视频和语音通话的软件). oRTP作为 lin ...
- NOI2014题解
起床困难综合症(BZOJ 3668) 送分题,直接从高位向低位贪心. 魔法森林(BZOJ 3669) 一个容易想到的办法就是枚举A的最大值,以B作为权值求最小生成树.暴力的话要T的.如果从小到大枚举A ...
- PHP中数组转换为XML格式
最近公司要做一个API接口,输出格式要有JSON与XML格式, 在PHP中,输入JSON直接json_encode就可以,但输出XML没有提供函数,于是决定自己写一个. <?php /** * ...
- java笔记2之算术运算符
1运算符是什么呢 对常量和变量进行操作的运算符 2运算符分为哪些 算术运算符(+,-,*,/), 赋值运算符 比较运算符 逻辑运算符 位运算符 三目运算符 3运算符 A 算术运算符的注意事项 (1)整 ...
- C#调用R语言输出图片
参考:http://rdotnet.codeplex.com/documentation REngine.SetEnvironmentVariables(); REngine engine = R ...
- ADT下载地址整理
參考以下文章 http://developer.android.com/tools/sdk/eclipse-adt.html 整理了官网的下载地址 http://dl.google.com/andro ...
- C#委托的回调机制
代码如下: public partial class FrmMain : Form { // 定义回调使用关键字 delegate(回调是委托的一种应用,其本质就是委托) private delega ...
- DOM中的NodeList与HTMLCollection
最近在看<Javascript高级程序设计>的时候,看到了这样一句话:“理解NodeList和HTMLCollection,是从整体上透彻理解DOM的关键所在.”,所以觉得应该写一篇关于N ...
- python 元类与定制元类
1:元类 元类:类的创建与管理者 所有类的元类是type class a: pass print(type(a)) 结果:<class 'type'> 2:定制元类 类的实例化过程:(可看 ...