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

来源:互联网 发布:mac更换硬盘克隆系统 编辑:程序博客网 时间:2024/06/05 03:55

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_26exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/libexportPATH=$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_29export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/libexportPATH=$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

使用示例,如下图:

转载自:ubuntu下多工程的环境变量配置方法

0 0
原创粉丝点击