`
modabobo
  • 浏览: 505929 次
文章分类
社区版块
存档分类
最新评论

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

sudo update-alternatives --install /usr/bin/javac javap ~/abc/jdk1.6.0_45/bin/javap 300
通过这一步将我们安装的jdk加入java选单。
然后执行以下命令设置默认的java jdk
sudo update-alternatives --config java

例如:

~/projects$ sudo update-alternatives --config java
[sudo] password for abc:
有 4 个候选项可用于替换 java (提供 /usr/bin/java)。

选择 路径 优先级 状态
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 自动模式
* 1 /home/abc/jdk1.6.0_45/bin/java 300 手动模式
2 /usr/bin/gij-4.6 1046 手动模式
3 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 手动模式
4 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 手动模式

要维持当前值[*]请按回车键,或者键入选择的编号:

-------------------------------------------------

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恢复后即可编译通过。

--------------------------------------------
分享到:
评论

相关推荐

    在ubuntu20.04下配置android P源码编译环境

    如何在ubuntu20.04下配置 魔趣P 源码编译环境及常见错误解决一 Ubuntu20.04 LTS 安装更新软件源->阿里云1.安装Chrome2.安装Vim3.点击图标最小化二 配置魔趣源码环境1.下载 git2.设置 git 账户3.下载python4.配置PATH...

    Ubuntu下android开发环境搭建

    在Ubuntu下搭建android开发环境,通过编译源码,查看android源码结构目录

    android 源码编译环境

    编译环境的搭建,Android源码 开发,基于UBUNTU14.04 / UBUNTU16.10

    MT6799开发板Android Source code 下载和编译.docx

    Ubuntu16.04编译Android源码7.0和4.4及踩坑 一.虚拟机环境配置 1.1Ubuntu怎样修改软件源地址 1.2共享文件夹 1.3虚拟机配置 二.操作指南 2.1将源文件拷贝到linux环境下后解压并编译 2.2相关工具安装 3.3推荐...

    Android usb Camera源码

    开发环境都搭建不起来!都从家里下载了安装包再拷贝到公司用!这个资源是网站下载的一份Android usb摄像头的源码!我在我的Exynos4412开发板上面测试OK!不过只能预览!而且我强制把ImageProc.c里面的设备文件指向我...

    android 框架及开发提要(ubuntu &winxp)

    主要介绍android框架,(ubuntu 10.04下)源码的编译过程,windows或linux下开发环境的搭建,以及开发方向。适合于初级开发者!

    一个基于 React Native 的 Android 企业级应用项目源码

    如下所有步骤及说明均为 React Native Android 的 DIY,涉及命令均为 Ubuntu 环境,Windows 类推即可。 1. 获取代码及模块安装和签名配置 执行如下命令进行代码下载及模块安装: $ git clone ...

    Android源码从下载到编译全过程

    最近一直在搭建Android系统开发环境,找了好多资料,但是大都都有问题(最起码现在用起来有问题),所以把自己的过程记录下来,备忘,也希望能给别人帮个小忙,当然,顺便赚点小分~~吼吼

    Android应用程序开发宝典

    1-1 UBUNTU10.10 上编译ANDROID 源码 1-1-1 编译Android2.3 形成文件系统 1-1-2 编译Android2.3 形成SDK 开发包 1-2 安装开发工具,设置开发环境 1-2-1 安装Eclipse 1-2-2 安装ADT 1-2-3 设置开发环境 1-2-4 运行...

    android studio集成ijkplayer的示例代码

    关于编译,我是在Ubuntu上编译后拷贝到win10中的,ijkplayer源码需要gcc编译,windows各种不好用,如果使用cynwin还不如在ubuntu下编译。 编译的过程是下载sdk,ndk。设置环境变量后按照github上的说明编译即可. ...

    YOLOV3-on-Android:构建一个可直接在手机上部署YOLO V3源代码的Android应用-Android app source code

    请自行查阅指南完成Android Studio安装以及NDK,SDK等相关开发环境的配置。 三,项目建成 3.1原始代码导入 在Andorid Studio构建一个支持C语言的项目,然后从下载源代码。 在项目工程的cpp文件夹下新建的深色网络...

    WSL启用Ubuntu(尚不适合面向内核级or移动端Android的开发)

    搭建一个Linux学习环境比较容易,但距离能进行实际开发投入还比较困难,尤其是面向Linux 内核开发源码编译&Android源码开发的情况,经常容易卡顿or卡死,编译一个内核时间较长,尚不如Win内装虚拟机orWin+其他桌面...

    Android笔记之:App自动化之使用Ant编译项目多渠道打包的使用详解

     经过不断的尝试,在ubuntu环境下,以花界为例,我将一步一步演示如何使用命令行,使用ant编译android项目,打包多渠道APK。 要点: (1). 编译android的命令使用 (2). ant基本应用 (3). 多项目如何编译(包含...

Global site tag (gtag.js) - Google Analytics