ubuntu Android环境的搭建及其shell执行脚本

 

一.进入Ubuntu系统后设置,以及开发android环境的搭建

1.新装系统,应先对软件源进行更新。这样,当我们用到某些软件时,可以直接tab键补全想要安装的软件包名字,然后安装。

 

sudo apt-get update

 

2.安装一些开发android必要的软件

 

sudo apt-get install gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-4.1-multilib g++-4.1-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

部分软件功能:

GnuPG(GNU Privacy Guard或GPG)是一个以GNU通用公共许可证释出的开放源码用于加密或签名的软件

flex和bison都是词法分析器生成器,他们常常一起配合使用,使用它们可以生成解释器,编译器,协议实现等多种程序。

zip是一种文件压缩格式,这个软件一般是用于压缩出zip格式的文件。

gcc和g++,linux下的c和c++编译器。

其余的一些都是一些必要的库。

 

3.使/bin/sh只想bash

一般装完系统,默认的sh是指向dash的,dash也是shell脚本的一种,但是已经过时,现在基本所有的shell脚本都用bash解析器,所以我们将sh只想bash

 

sudo rm /bin/sh

sudo ln -s /bin/bash /bin/sh

ls /bin/sh -l即可查看到sh已经指向bash了

 

4.改变我们的gcc和g++版本,因为android环境需要特定的gcc和g++编译器。

 

cd /usr/bin/

ls -la | grep gcc

sudo ln -s x86_64-linux-gnu-gcc-4.1 x86_64-linux-gnu-gcc

sudo rm gcc

sudo ln -s gcc-4.1 gcc

 

ls -la | grep g++

sudo rm -rf ./g++

sudo rm -rf x86_64-linux-gnu-g++

sudo ln -s x86_64-linux-gnu-g++-4.1 x86_64-linux-gnu-g++

sudo ln -s g++-4.1 ./g++

 

gcc --version

g++ --version 即可查看gcc和g++版本已经是我们需要的版本4.1.3了。

 

5.交叉编译器arm GCC和JDK1.5的安装

因为我们要运行android程序的板子是采用arm体系结构的,处理器是arm的,所以我们需要arm GCC。

而JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JAVA又是Android系统上层主要的编程语言,所以很重要。

 

sudo tar xzvf prebuilt-0f1763c.tar.gz  -C /opt

sudo mv /opt/prebuilt-0f1763c/ /opt/arm-eabi-4.4.0/

sudo mv jdk-1_5_0_22-linux-amd64.bin /opt/

cd /opt

sudo chmod a+x jdk-1_5_0_22-linux-amd64.bin

sudo ./jdk-1_5_0_22-linux-amd64.bin

 

6.安装Wine1.2

wine是一款优秀的Linu系统平台下的模拟器软件,用来将Windows系统下的软件在Linux系统下稳定运行,可以运行许多大型Windows系统下的软件。

 

sudo apt-get install wine1.2

 

7.创建android编译环境配置脚本

sudo vim /etc/android.conf

将下面语句复制进android.conf

#android profile

 

JAVA_HOME=/opt/jdk1.5.0_22"

export JAVA_HOME

 

ANDROID_JAVA_HOME=/opt/jdk1.5.0_22

export ANDROID_JAVA_HOME

 

PATH=/opt/arm-eabi-4.4.0/bin:/opt/jdk1.5.0_22/bin:/opt/android_sdk_2.1/tools:/opt/wine-1.1.33/bin:$PATH

export PATH

 

当我们编译android软件时,需要先执行

source /etc/android.conf

 

以上所有的工作完成以后,我们开发android的环境就搭建完成了。

PS:关于android环境的搭建,我还写了个shell脚本将所有的操作集成在脚本中,并测试运行成功。我们只需./执行该脚本即可完成所有工作,很方便。o(∩_∩)o希望对大家有帮助。

 

个人觉得:我们常常做一些项目时,可以将其中一些繁琐易失误操作的执行过程,用一个脚本来描述,只需解析该脚本,即可完成我们之前那些繁琐的步骤,方便好用,节省时间。就比如说,我们的内核编译时,需要有Makefile来描述其编译过程一样,Makefile,shell等脚本的存在就是为了简化繁琐操作,提高项目执行效率的。

 

二.Shell 脚本如下,你只需复制脚本内容,到你创建的任意空文件如android-build.sh,执行chmod +x android-build.sh,然后./android-build.sh即可自动安装。注意,首先需将您搭建android环境所需的文件jdk-1_5_0_22-linux-amd64.bin和prebuilt-0f1763c.tar.gz放到ubuntu的$HOME目录(就是我们刚打开Terminal默认的当前目录)下您创建的子目录即可,这里我创建的是android_build目录。

 

#!/bin/sh

 

#################################################

# The program is to build android's environment #

#################################################

       ############################

       # Version 1.0 by jian.kong #

       ############################

 

 

#####1.install the required software######

sudo apt-get install gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-4.1-multilib g++-4.1-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

 

#####2.make shell point to bash######

sudo rm /bin/sh

sudo ln -s /bin/bash /bin/sh

 

#####3.change the gcc from version 4.4.1 to version 4.1.3#########

cd /usr/bin/

ls -la | grep gcc

sudo ln -s x86_64-linux-gnu-gcc-4.1 x86_64-linux-gnu-gcc

sudo rm gcc

sudo ln -s gcc-4.1 gcc

 

ls -la | grep g++

sudo rm -rf ./g++

sudo rm -rf x86_64-linux-gnu-g++

sudo ln -s x86_64-linux-gnu-g++-4.1 x86_64-linux-gnu-g++

sudo ln -s g++-4.1 ./g++

 

#check the version of gcc and g++

gcc --version

g++ --version

 

cd ~/android_build

 

#####4.Install arm GCC and JDK1.5##########

sudo tar xzvf prebuilt-0f1763c.tar.gz  -C /opt

sudo mv /opt/prebuilt-0f1763c/ /opt/arm-eabi-4.4.0/

sudo mv jdk-1_5_0_22-linux-amd64.bin /opt/

cd /opt

sudo chmod a+x jdk-1_5_0_22-linux-amd64.bin

sudo ./jdk-1_5_0_22-linux-amd64.bin

 

#####5.install Wine1.2#####

sudo apt-get install wine1.2

 

#####6.Create android build environment profile ########

echo "#android profile" > android.conf

echo >> android.conf

echo "JAVA_HOME=/opt/jdk1.5.0_22" >> android.conf

echo "export JAVA_HOME" >> android.conf

echo >> android.conf

echo "ANDROID_JAVA_HOME=/opt/jdk1.5.0_22" >> android.conf

echo "export ANDROID_JAVA_HOME" >> android.conf

echo >> android.conf

echo "PATH=/opt/arm-eabi-4.4.0/bin:/opt/jdk1.5.0_22/bin:/opt/android_sdk_2.1/tools:/opt/wine-1.1.33/bin:\$PATH" >> android.conf

echo "export PATH" >> android.conf

 

sudo mv android.conf /etc/

source /etc/android.conf

 

echo "#########################################################"

echo "# Oh, the android's environment has been build! ~o^_^o~ #"

echo "#########################################################"
安卓系统下的bash shell,ssh服务器,gcc编译器以及vim文本编辑器等 使用vim编辑多个文件 vim file1 file2 file3 ... :next查看或编辑后一个文档的内容 :prev查看或编辑前一个文档的内容 :first查看或编辑第一个文档的内容 :last查看或编辑最后一个文档的内容 vim -o|-O file1 file2 file3 -o:水平显示多个文件 -O:垂直显示多个文件 Ctrl+w arrow(箭头) 光标移动 Ctrl+w,s讲一个文件水平分屏显示 Ctrl+w,v将一个文件垂直分屏显示 :qa 全部退出 :wa 全部保存 将其他文件中的内容填充到当前文件中 :r (/PATH/TO/SOMEFILE)这是解释 跟shell交互 :!命令(command) 部分另存为 :w(全部保存) :m,nw(从第m行到第n行) :m,+n :.,$w 默认系统中所支持的shell cat /etc/shells bash特性 命令别名:自定义命令 alias:可以用来定义和设置命令的别名 注意:使用alias命令定义的别名其生命周期仅限于当前shell的生命期;如果修改.bashrc配置文件,其中保存的别名并不会立即生效,只有在重新加载该文件内容之后才会生效且永久生效;为了能够保证设置别名有效,通常两种操作都做 撤销别名:unalias . .bashrc:将.bashrc的命令读取 命令历史: bash进程会保存其会话中用户曾经执行的命令,以方便用户重复执行某个命令通过bash提供的历史命令文件来持久保存此前执行过的命令,用户由私有历史文件 登陆shell的时候,bash会自动读取~/.bash_history文件中所记录的所有命令 history命令: -c:清空历史缓冲区中的历史命令; -d OFFSET:删除特定历史命令条目; 重复执行前一个命令的方法: 使用上方向箭头,回车执行 Ctrl+p !-1 !! 重复执行历史缓冲区的命令 !#(#=数字):重复执行历史命令中的编号为#的命令 !(string)字符串:从历史缓冲区中查找最近一次执行过的以string开头的命令并执行 !?string:从历史缓冲区中查找最近一次包含string的命令并执行 !- number:执行历史缓冲区中倒数第number个命令 Ctrl+r:在历史缓冲区中实施搜索,回车执行即可: 重复使用历史命令中的一部分: !$ 、ESC .、ALT+:表示最后一次命令中最后一个参数; !^:第一个位置的参数 !:number:最后一次命令中第number个位置的参数 !number1:number2在历史缓冲区中第number1个命令的第number2个参数 快捷键 C-->Ctrl M-->Alt E-->Esc DEL-->Backspace C-l:clear 清屏 C-a:将光标跳至命令行行首 C-e:将光标跳至命令行行尾 C-k:删除光标所在位置至行尾的命令行信息 C-u:删除光标所在位置至行首的命令行信息 C-c:结束前台进程。取消命令的运行 命令补全机制: 命令本身字符串的补全 参数的补全 使用TAB键可以完成命令补全: 如果给出的字符串不能作为唯一标识,则bash不予补全;再次敲击TAB键,bash会给出参考列表;如果参考列表中的内容过多,bash会询问是否显示该列表;根据提供的参数路径来进行补全,如果参数没有任何提示信息,则默认从工作目录进行查找; 命令行展开: ~:bash会自动将其展开为当前登陆用户的家目录 ~STRING:bash会自动将其展开为以STRING为用户名为用户的家目录 ~+:调用shell变量pwd的值 ~-:调用shell变量oldpwd的值 {}:在花括号中可以填充一个以","分隔的路径列表,bash会将其展开为多个独立的路径; 命令的执行结果 任何以个Linux命令都有两种执行结果: 命令的正常输出结果:跟用户需求相关的返回内容: ``:反向单引号,反引号 $():标准的命令引用格式 wc:统计一个文件中的行数、字数及字节数 -c:只显示字节数 -l:只显示行数 -w:只显示字数 命令的执行状态返回值;跟命令执行成与否相关的返回命令 引用功能: '':强引用 凡是被单引号引用的内容,bash一律将其视为普通字符,即便本身有特殊功能和作用也是如此,但是单引号本身是个例外 "":弱引用 被双引号引用的内容有一些特殊字符仍然会保留器特殊含义 比如:$、\、"" 转义功能:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值