ubuntu安装jdk全过程(仅供参考)

http://forum.ubuntu.org.cn/viewtopic.php?t=183803

在android 编译中要是用的是 jdk 1.5,下面的是一个已jdk1.6的例子。实际使用中应该以1.5为标准。

首先,从http://java.sun.com中下载jdk,我的版本是jdk1.5.,我下载的是bin文件,我将下载的jdk1.6.0_12.bin文件置于/usr/lib/jvm/java中
然后,在shell中执行:

代码:
sudo chmod u+x /usr/lib/jvm/java/jdk1.6.0_12.bin

修改bin文件权限,使其可执行
然后,执行

代码:
sudo /usr/lib/jvm/java/jdk1.6.0_12.bin

将会出现字幕,持续按回车键,直至屏幕显示要求输入yes/no,此时输入y回车,将会把jdk解压到文件夹,得到jdk1.6.0_12目录。
此时,jdk已安装完毕,下面进行配置
执行

代码:
sudo vi /etc/environment

在environment中修改,出现如下部分

引用:
PATH="......:/usr/lib/jvm/java/jdk1.6.0_12/bin"
CLASSPATH=.:/usr/lib/jvm/java/jdk1.6.0_12/lib
JAVA_HOME=/usr/lib/jvm/java/jdk1.6.0_12

执行

代码:
sudo source /home/ghoul/.bashrc

此时,环境变量设置成功(设置环境变量的方法很多,不一一列举)
由于ubuntu中可能会有默认的jdk,如openjdk,所以,为了使默认使用的是我们安装的jdk,还要进行如下工作。
执行

代码:
update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/jdk1.6.0_12/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/jdk1.6.0_12/bin/javac 300

通过这一步将我们安装的jdk加入java选单。
然后执行

代码:
update-alternatives --config java

通过这一步选择系统默认的jdk
这样,再在shell中输入

代码:
java -version

时,就会显示系统使用的java是sun的java

Ubuntu 10.04(64位)下载并编译 Android 2.2 源码[只有11条命令]

http://w11h22j33.javaeye.com/blog/905491

为了方便,我把所有操作写成了命令,按顺序(软件安装--源码下载--编译)执行成功即可:
1. sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev
    libx11-dev lib32readline5-dev lib32z-dev java-common unixodbc   
2. sudo apt-get install sun-java6-jdk   
3. cd   
4. mkdir -p software/bin   
5. curl http://android.git.kernel.org/repo >software/bin/repo   
6. chmod a+x software/bin/repo   
7. mkdir -p software/android/src/new  
8. cd software/android/src/new  
9. repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo

//我在这里使用的是-b android-2.2.1_r1
10. repo sync   
11. make -j4

===================================================================================================================

1.
前言

本文叙述了如何从零开始搭建基于Google官方Android 2.2.1(froyo)源码的开发环境,包括如何下载源代码、编译源代码,以及在模拟器中运行编译生成的镜像。文中开发机是基于Ubuntu 10.04的,同样适用于其他版本的Ubuntu。现在需要弄清楚一下几点,防止后面出现误操作:
下载源代码是用参数:repo init -u git://android.git.kernel.org/platform/manifest.git
-b
froyo
(下载的是2.2.1 版本,编译环境操作系统必须 32 位的, jdk1.5 版本 的---jdk1.5没有64位版本)。如果是没有带参数的下载源代码,将会下载所有的源代码,编译环境要求:操作系统64位,jdk1.6,(偶是2010年10月15日做)但很有可能会出现交叉编译工具错误:“ /bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: 没有那个文件或目录
”(实际上是有arm-eabi-gcc这个文件的,偶怀疑是版本问题--32位的,而环境要求是 64 位的 —-- 下载全部代码

    2. 下载 JDK 1.5 (不建议此下载方式,防止配置环境参数出错。建议用 apt-get install 方式,请跳转到:第 4

编译Android源码需要JDK1.5版(主要是需要其中的javadoc),1.6版是
不兼容的。JDK1.5已经停止支持,其最
终的版本是JDK 5.0 Update 22。

可从Sun官网上下载:

http://java.sun.com/javase/downloads/5u22/jdk

选择平台Linux,勾选同意许可协议:

单击Continue,在弹出的页面中一共有两个下载,选第一个jdk-1_5_0_22-linux-i586.bin下载:

3. 部署 JDK 1.5

   3.1 解压缩 JDK

以下命令均在root账户上执行,非root账户执行某些命令可能需要加sudo。

将jdk-1_5_0_22-linux-i586.bin放在root目
录下。进入该目录:

cd ~

然后赋予该bin文件可执行属性:

chmod +x jdk-1_5_0_22-linux-i586.bin

再执行安装(注意前面有./):

./jdk-1_5_0_22-linux-i586.bin

跳过协议阅读。

最后一行:

Do you agree to the above license terms? [yes or no]

键入yes,然后回车,开始解压。默认会解压到当前目录下的jdk1.5.0_22目录下(此处是~/ jdk1.5.0_22)。

3.2 JDK 版本切换

如果同时需要使用 JDK1.6 版做应用开发,则系统中将同时存在 JDK1.5 和 JDK1.6 。
因此需要实现能够在不同版本间切换。如果不使用 JDK1.6 ,请做完 1.5 版
的设置后跳至 3.3 节。

这里使用 update-alternatives 命令实现。

首先为JDK1.5版生成可选配置选项:

update-alternatives --install /usr/bin/jdk java /root/jdk1.5.22 255

(sudo update-alternatives --install /usr/bin/jdk java /home/ynb/jdk1.5.0_22 255)

/usr/bin/jdk是符号链接,它指
向/etc/alternatives/jdk(由第2个参数
给出的),/root/jdk1.5.22(/home/ynb/jdk1.5.0_22)是
实际目的链接,255是优先级(任意整数,
在automatic mode自动模式
时,数字大的优先级较高,被选为默认配置选项)。

然后再为JDK1.6版生成(如果有 JDK1.6 的话。不使用 JDK1.6 的请跳至 3.3 节 ):

update-alternatives --install /usr/bin/jdk java /root/jdk1.6.20 0

这样,默认jdk版本即为1.5版。
需要切换到1.6版时,请使用update-alternatives ––config java

  3.3 配置 JDK 环境变量

下面开始配置环境变量。

在终端中执行:sudo gedit ~/.bashrc

修改.bashrc文件,添加下面语句:

#set java environment

export JAVA_HOME=/usr/bin/jdk

export JRE_HOME=JAVA_HOME/jre

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

该段代码最好设置在文件的尾部。

保存文件。在终端中执行source ~/.bashrc

重启系统请使用java –version检查JDK是否
配置正确。

4. apt-get install 方式安装 JDK1.5

Android 要求的 jdk 1.5,而Ubuntu10.4的源里只有JDK1.6. 如果安装了 jdk1.6 请先卸载 :

$sudo
apt-get
remove
remove openjdk-6-jdk

$sudo
apt-get
remove
remove openjdk-6-jre

$sudo
apt-get
remove
remove openjdk-6-jre-headless

安装jdk1.5目前网上解决方法有两种:
  解决方法一 ( 建议 )
安装JDK1.5

  1)
根据官方文档里所说,源代码的编译必须使用JDK5才能编译的了,所以这里偶使用jdk5
  2)
需要先更新源,在终端里执行 sudo vim /etc/apt/sources.list
  3)
在source.list里把以下2行拷贝到文档最后面:

deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

   
保存退出。
  4)
执行 sudo apt-get update 更新源.
  5)
配置编译环境并下载JDK5:sudo apt-get install sun-java5-jdk
 
解决方法二:
安装 JDK 1.6 , 修改Android源文件。
  1)
安装jdk 1.6,修改<src_top/build/core/make.mk>(如果2.0版本源码请修改<src_top/build/core/main.mk>)
 
在文件中搜索并分别把:
     java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1.5[. "$$]')
     javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1.5[. "$$]')
 
两行改成:
     java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1.6[. "$$]')
     javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1.6[. "$$]')
 
即可。
 
推荐使用第一种解决方法。

5 . 安装其他必备组件

在终端上,使用下面的命令安装:(前面的 1 、 2 、 3 步骤都可以省略啦 )

sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

补充下载(补充):

sudo sudo apt-get install libx11-dev

sudo sudo apt-get install libc6-dev-i386

sudo sudo apt-get install g++-multilib

sudo sudo apt-get install lib32z1-dev

sudo sudo apt-get install lib32ncurses5-dev

因为JDK1.5在前面已经单独安装过了,因此此处apt-get install命令行中没有加入sun-java5-jdk。

6 . 下载 Android 源代码

6 .1 安装 repo 脚本

首先安装repo。在当前用户:~目
录下新建一个bin目录。在终端中执行:

cd ~

mkdir bin

然后,向PATH中添加bin路
径:

export PATH=$PATH:~/bin

然后执行下面两行指令,下载repo脚本并修改可执行属性:

curl https://android.git.kernel.org/repo >~/bin/repo

chmod a+x ~/bin/repo

6 .2 初始化 repo

首先建立一个目录用来存放Android源代码:

mkdir mydroid

cd mydroid

然后用最新的列表执行初始化。这里偶下载android 2.2.1(froyo) ,因此加了参数 –b froyo:(android 2.2.2(froyo)源码下载:2G多
repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo )
(下载2.1_r2源码

repo init -u git://android.git.kernel.org/platform/manifest.git –b android-2.1_r2

下载全部源码:repo init -u git://android.git.kernel.org/platform/manifest.git)

(下载2.0源码:
repo init -u git://android.git.kernel.org/platform/manifest.git –b eclair )
上面下载2.0时有个莫名其妙的问题
ynb@ynb-pc:~/bin$ repo init -u git://android.git.kernel.org/platform/manifest.git –b eclair
Usage: repo init -u url [options]
出现上面问题,删除mydroid目录:rmdir mydroid  ; mkdir mydroid2.0 ; cd mydroid2.0;
再:repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair 就可以了)
(如果能通过浏览器浏览到android源码的主页,但运行repo init或repo sync的时候,却没法下载源码,形如:
只需要把git开头的地址改为http即可:
[1]
repo init -u http:// android.git.kernel.org/platform/manifest.git -b froyo
[2]修改manifest.git里的地址,也是把git://改为http://
vim .repo/manifest.git
如:
<?xml version="1.0" encoding="UTF-8"?>

<manifest>
     <remote  name="korg"
             fetch="http:// android.git.kernel.org/"
              review="review.source.android.com" />
     <default revision="froyo"
              remote="korg" />
)

这中间会问到你的名字和Email。如果你打算上传代码,Email须是一个Google账户。

repo初始化成功后会看到类似于下面的提
示:

repo initialized in /home/(当前用户名)/mydroid

最后执行$repo sync 开始同步代码。过程比较漫长,下载速度取决于你的网速(偶的3-4 小时 左右 ),中间有可能遇到断线,重新执行repo sync即可断点续传。

7 . 编译 Android 源代码

7 .1 编译生成镜像

切换到android源码根目录下,执行$sudo make 即可。首次编译非常耗时,取决于机器配置,大约需要2-3 小时 。有可能会出现:“Permission denied
(权限拒绝的提示)”
请命令赋予权限:$cd 无权限文件的当前目录
回车 ;
$sudo chmod -R +rwx *
回车 ;
完成后镜像生成在/root/mydroid/out/target/product/generic下:android源码编译后得到system.img ,ramdisk.img ,userdata.img 映像文件。其中, ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator加载这3个映像文件后,会把 system和 userdata分别加载到 ramdisk文件系统中的system和 userdata目录下。

   7.2 编译、配置 Android SDK

make编译完成后,执行$sudo make sdk 命令,生成对应于该版本源代码的sdk,此过程用的时间偶的是10 多分钟 。注意这个sdk不能用于生产环境。

用于生产环境的最好用如下命令: $sudo make PRODUCT-sdk-sdk 命令,生成对应于该版本源代码的用于生产环境的sdk,此过程用的时间偶的是1 个多小时 。

Android官方的SDK和偶自己编译Android源码时使用make sdk编译出的SDK有区别,模拟器版本不同,加载的默认镜像也不同(一个是官方的,
一个是自己编译的)。下面将展示如何能够自由切换SDK版本。

首先是自己编译的SDK版本,实际位置是/root/mydroid/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86。

因为它比较常用,我们给它高优先级:

update-alternatives --install /usr/bin/AndroidSDK AndroidSDK /root/mydroid/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86 255

事先下载的官方SDK位置是/root/android-sdk-linux_86,执行:

update-alternatives --install /usr/bin/AndroidSDK AndroidSDK /root/android-sdk-linux_86 0

然后使用update-alternatives --display AndroidSDK查看当前配置情况:

如果要切换配置,使用update-alternatives --config AndroidSDK


配置AndroidSDK环境变量。终端中执行gedit ~/.bashrc

在文件最后添加下面三行:

# set android environment

export ANDROID_SDK_HOME=/usr/bin/ AndroidSDK

export PATH=$ANDROID_SDK_HOME/tools:$PATH 保存文件。在终端中执行source ~/.bashrc

8 . 在模拟器中运行编译的镜像

打开终端,执行android脚本:

$android

出现下图所示窗口:

选择左边第一项Virtual Devices,然后在右边选择New,新建一个AVD。

Name:AVD的名称,随便取,但只能包含字母和数字以及点、下划线和连字符,
这里取名test。

Traget:目标SDK版本,这里选自己编译的2.1-r1版Android SDK。

SD Card:SD卡。暂且不填,待需要时再设置。

Skin:皮肤(模拟器屏幕分辨率)。

Hardware:使用默认即可

然后点Create AVD,就创建好了一个AVD。点击Start即
可启动模拟器,其运行的是自己编译的镜像。

若以后要再次启动此AVD,请在终端中运行:

emulator –avd test 或
者emulator @test

Ubuntu10下载安装Android 2.2 froyo 源码相关推荐

  1. Android 2.2 (Froyo) 源码已经公布

    为了庆祝Verizon Droid X的发布,Google公布了最新版Android 2.2 (Froyo) 源码,这套代码最早在5月份被披露,并试验性地运行在Nexus One上. 2.2版带来了提 ...

  2. android 2.2(froyo)源码下载

    源码主页:http://android .git.kernel.org/ 正常下载步骤:         $ mkdir mydroid-froyo         $ cd mydroid-froy ...

  3. Android 双开沙箱 VirtualApp 源码分析(一)

    最近发现了一个非常好的开源项目,基本实现了一个 Android 上的沙箱环境,不过应用场景最多的还是应用双开. VA github: https://github.com/asLody/Virtual ...

  4. Android AOSP和Android-X86源码下载编译终极普法

        Android AOSP和Android-X86源码下载编译终极普法 引言   最近有朋友在询问怎么下载Android AOSP源码和Android-X86源码,编译学习!其实这个说简单也简单 ...

  5. android 代码发adb,Android预安装软件adb命令编译源码

    Android预安装软件&adb命令&编译源码 发布时间:2020-06-02 17:28:41 来源:51CTO 阅读:895 作者:年少的风 1.预安装软件: 将eclipse下的 ...

  6. Android 系统(78)---《android framework常用api源码分析》之 app应用安装流程

    <android framework常用api源码分析>之 app应用安装流程 <android framework常用api源码分析>android生态在中国已经发展非常庞大 ...

  7. Android 5.1.1源码修改添加白名单和静默安装功能

    最近弄项目都是些要改源码才能实现的,像静默安装和白名单功能. 静默安装: 1:在源码的AndroidMainfest.xml中添加权限 --- a/frameworks/base/core/res/A ...

  8. Android 4.0.1 源码下载,编译和运行

    [牛人分享]Android 4.0.1 源码下载,编译和运行 转自 http://blog.csdn.net/rambo2188/article/details/6943382 ----------- ...

  9. Mac系统 下载安装Android studio

    Mac OS 下载安装Android studio 简单粗暴一点,看图.直接官网下载,然后参照官网指导视频进行安装即可. 官网下载链接:https://developer.android.google ...

最新文章

  1. bzoj3791作业*
  2. Jenkins中的邮件设置
  3. pointnet分割自己的点云数据_点云学习历史文章大汇总
  4. 大兴计算机职业学校,北京大兴区第一职业学校
  5. C#得到CPU的序列号、硬盘序列号、网卡序列号
  6. Docker (1) 基本概念和安装
  7. Python Flask服务同时接收单个、多个上传的文件
  8. 关于C语言可变参数函数的一些研究和总结
  9. Oracle序列号详解
  10. Android 常用adb shell 命令(转)
  11. AXURE 9 # 汉化教程
  12. 概率论速成-基于mooc
  13. C# winform推荐波形图表控件scottplot
  14. Python代码打包在xp系统上运行~~
  15. ossec是干什么的?
  16. 阿里云服务器ECS与域名的绑定
  17. 8086汇编(3、指令集)
  18. java聊天室报告ppt_基于JavaWeb聊天室设计与实现毕业论文+任务书+中期表+中期报告+项目源码+数据库+答辩PPT...
  19. python中xpath使用案例_python爬虫学习笔记:XPath语法和使用示例
  20. pla3d打印材料密度_3D打印材料:PLA (聚乳酸)材料

热门文章

  1. 协变 (Covariant)、逆变 (Contravariant) 与不变 (Invariant)
  2. 网易我的世界 java错误_我的世界:网易有点懒,明明是同一个版本,待遇却大不一样!...
  3. dz每个php模板页文件,dz模板引擎分析
  4. Python 条件运算符的嵌套来完成此题:学习成绩
  5. hackmyvm-bunny walkthrough
  6. 火车头采集翻页内容_火车头采集器教程:使用分页采集有分页的数据
  7. 钱多多软件第二阶段冲刺1
  8. 安卓期末大作业——汉服社区(源码+任务书)
  9. 国内外云ERP市场厂商大盘点
  10. 快速识别图像的人工智能图像识别小程序分享