skywang12345

导航

 

ubuntu下多工程的环境变量配置方法

版本

版本说明

发布时间

发布人

V1.0

初始版本

2013-03-16

Skywang

 

 

 

 


1概要

在我们的日常工作中。随着我们工作的项目的增多,可能会遇到以下问题:

第一,经常需要在各个目录间来回切换。每次来回切换,需要输入很长的指令!

第二,不同的项目所需的配置信息不同,而我们经常需要导入不同的配置信息。重复导入配置信息,很费时!

如果你遇到上面所说的问题,并且被这些问题所困扰。可以试试阅读本文,希望文中的方法能帮助您解决上诉问题。本文主要就我自己在ubuntu下管理不同项目的方法进行了说明:根据不同的项目导入不同配置;然后,可以非常方便快捷的在不同项目之间来回切换。 

比如:有现在2个项目,分别是android2.3和android4.0。

(01)它们各自都有自己所需要的环境。

如:android2.3使用的是jdk1.6.26;而android4.0使用的是jdk1.6.29。

(02)它们的工作路径不同;但是都有android、kernel、uboot等工程目录。

想要方便的导入配置文件和在不同目录中切换,我的思路是:分别给android2.3和android4.0各写一个配置文件,通过导入不同的配置文件,来导入不同项目的环境。而导入配置文件的方法呢,是直接通过简单的命令去实现。

这样,我们需要解决的就只有2个问题:第一,编写各个项目对应的配置文件。第二,添加导入配置文件的方法。有了这个思路之后,我们便开始添加配置文件。 

2 工程android2.3

2.1 工程android2.3的工程配置文件

android2.3的工程路径如下:

/home/skywang/a8/gingerbread/wcdma

在工程路径下面,有许多其他的目录:包括“code”(代码)、“envsetup”(环境变量和其他脚本工具)、“document”(文档)、“hw”(硬件相关的文件)、“backup”(备份文件)等。这里重点要说明是“code”和“envsetup”。

“code”目录包括android、kernel、uboot等3部分的代码文件,它们的路径分别如下:

/home/skywang/a8/gingerbread/wcdma/code/android

/home/skywang/a8/gingerbread/wcdma/code/kernel

/home/skywang/a8/gingerbread/wcdma/code/ubooot

“envsetup”目录包括配置文件ENVSETUP,路径如下:

/home/skywang/a8/gingerbread/wcdma/envsetup/ENVSETUP

 

配置文件ENVSETUP的内容如下:

###skywang add for android 2.3 bsp env### 
 
echo "setting android2.3 bspenvironment variables..." 
 
# 设置终端提示语
PS1='${debian_chroot:+($debian_chroot)}\u:(gingerbread)\W\$' 
 
# 设置Java环境变量
export JAVA_HOME=/opt/jdk1.6.0_26
exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
exportPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 
 
# 将交叉编译工作添加道PATH中
exportPATH=$PATH:/opt/toolchains/arm-2009q3/bin 
 
# 工程通用的目录
project_path="/home/skywang/a8/gingerbread/wcdma"
code_path="${project_path}/code"
android_path="${code_path}/android"
kernel_path="${code_path}/kernel"
uboot_path="${code_path}/uboot" 
 
# 路径跳转别名
alias cdandroid='cd ${android_path}'
alias cdkernel='cd ${kernel_path}'
alias cduboot='cd ${uboot_path}'


2.2 工程android2.3导入工程配置文件的方法

 

完成ENVSETUP之后,我们编辑用户根目录的.bashrc文件,并在文件末尾添加如下语句:

# 跳转到gingerbread的工作目录,并导入gingerbread的环境变量
alias cdgingerbreadwcdma='cd/home/skywang/a8/gingerbread/wcdma/code/android; source../../envsetup/ENV_SETUP'


 完成.bashrc的编辑之后,再介绍如何导入android2.3的配置。

我们新开一个终端,并在终端中输入”cdgingerbreadwcdma”。这样,我们便跳转到/home/skywang/a8/gingerbread/wcdma/code/android,并且导入android2.3工程下的环境ENVSETP。

 

之后,并可以依次输入以下命令来方便的进行目录跳转:

$cdandroid

$cdkernel

$cduboot

另外,我们可以通过以下命令检查配置信息是否生效

$echo $PS1

$echo $JAVA_HOME

$echo $CLASSPATH

$echo $PATH

 

示例如下图:

 

 

3 工程android4.0

3.1 工程android4.0的工程配置文件

在熟悉android2.3工程的配置和导入方法之后,我们再简要说明以下android4.0工程的配置编写和导入方法。实际上,主要内容与android2.3相同,只是路径和所需配置不同。

android4.0的工程路径如下:

/home/skywang/a8/ics/wcdma

“code”目录包括android、kernel、uboot等3部分的代码文件,它们的路径分别如下:

/home/skywang/a8/ics/wcdma/code/android

/home/skywang/a8/ics/wcdma/code/kernel

/home/skywang/a8/ics/wcdma/code/ubooot

“envsetup”目录包括配置文件ENVSETUP,路径如下:

/home/skywang/a8/ics/wcdma/envsetup/ENVSETUP


androd4.0的ENVSETUP配置文件信息如下:

###skywang add for android 4.0.3 bsp env### 
 
echo "setting android4.0.3 bspenvironment variables..." 
 
# 设置终端提示语
PS1='${debian_chroot:+($debian_chroot)}\u:(ics)\W\$' 
 
# 设置Java环境变量
export JAVA_HOME=/opt/jdk1.6.0_29
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
exportPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 
 
# 将交叉编译工作添加道PATH中
exportPATH=$PATH:/opt/toolchains/arm-2009q3/bin 
 
# 工程通用的目录
project_path="/home/skywang/a8/ics/wcdma"
code_path="${project_path}/code"
android_path="${code_path}/android"
kernel_path="${code_path}/kernel"
uboot_path="${code_path}/uboot"
 
# 路径跳转别名
alias cdandroid='cd ${android_path}'
alias cdkernel='cd ${kernel_path}'
alias cduboot='cd ${uboot_path}'

3.2 工程android4.0导入工程配置文件的方法

 

完成ENVSETUP之后,我们编辑用户根目录的.bashrc文件,并在文件末尾添加如下语句:

# 跳转到ics的工作目录,并导入ics的环境变量
alias cdics='cd/home/skywang/a8/ics/wcdma/code/android; source ../../envsetup/ENV_SETUP'


编辑完.bashrc之后,我们便可以通过"cdics"跳转到 /home/skywang/a8/ics/wcdma/code/android目录,并导入android4.0的配置。之后,就可以通过cdandroid、cdkernel、cduboot等命令在android4.0的各个项目目录间跳转。 

4 导入不同的工程

完成上面androd2.3和android4.0的配置文件和导入方法之后,我们就可以简单的在终端通过以下方法来不会项目中来回切换。

导入android2.3工程的方法:

cdgingerbread

导入android4.0工程的方法:

cdics

 

使用示例,如下图:


 

 

 

posted on 2013-03-16 22:32  如果天空不死  阅读(901)  评论(0编辑  收藏  举报