build/envsetup.sh
每次开始编译开始的第一个命令便是source build/envsetup.sh,其中source命令就是用于运行shell脚本命令,功能等价于”.”,因此该命令也等价于. build/envsetup.sh。在文件envsetup.sh声明了当前会话终端可用的命令,这里需要注意的是当前会话终端,也就意味着每次新打开一个终端都必须再一次执行这些指令。build/envsetup.sh文件存在的意义就是,设置一些环境变量和shell函数为后续的编译工作做准备。 接下来我们分析下
envsetup.sh.命令————envsetup.sh中的函数简介
导入envsetup.sh系统会都出一些命令,先看下命令的作用常用的命令
编译指令 解释
mm 编译当前路径下所有模块,但不包含依赖
mmm [module_path] 编译指定路径下所有模块,但不包含依赖
mma 编译当前路径下所有模块,且包含依赖
mmma [module_path] 编译指定路径下所有模块,且包含依赖
make [module_name] 无参数,则表示编译整个Android代码
cgrep 当前目录下所有C/C++文件执行搜索操作
jgrep 当前目录下所有Java文件执行搜索操作
ggrep 当前目录下所有Gradle文件执行搜索操作
mangrep [keyword] 当前目录下所有AndroidManifest.xml文件执行搜索操作
mgrep [keyword] 当前目录下所有Android.mk文件执行搜索操作
sepgrep [keyword] 所有sepolicy文件执行搜索操作
resgrep [keyword] 当前目录下所有本地res/*.xml文件执行搜索操作
sgrep [keyword] 当前目录下基于(c
croot 切换至Android根目录
cproj 切换至工程的根目录
godir [filename] 跳转到包含某个文件的目录
hmm 查询所有的指令help信息
————————————————
版权声明:本文为CSDN博主「蓝微晨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a567890k/article/details/79412382
以上做了一个引用,以助于讲解. build/envsetup.sh。
接下来便是正题:
1.进入代码存放的文件夹,执行该命令:
. build/envsetup.sh
之后执行 mm 命令
2.根据以上要求执行安装命令
sudo apt install make
3.然后便是执行lunch命令,envetsup装载lunch功能代码,其主要是用于配置编译环境。
选择自己需要的id
4.这里说需要安装JDK6
去官网下载一个就可以
https://www.oracle.com/java/technologies/javase-java-archive-javase6-downloads.html
5.下载完之后会在”Downloads“文件夹下面
先给该文件添加权限
sudo chmod a+x ~/Downloads/jdk-6u45-linux-x64.bin
然后再在当前文件夹打开终端执行命令
sudo ~/Downloads/jdk-6u45-linux-x64.bin
之后会得到一个文件夹
6.完成后可以在终端中输入指令,将它复制到 /usr/lib 下
sudo cp -r jdk1.6.0_45/ /usr/lib/
7.然后是环境变量的配置
8.如果之前步骤正确,可以直接将这段复制进去
export JAVA_HOME=/usr/lib/jdk1.6.0_45
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
9.然后终端中执行指令,更新刚刚的修改
source /etc/profile
10.最后用java -version命令查看java版本,看看是否配置成功
11*.需要注意一点,在当前只有使用了 source /etc/profile 的终端可以使用java环境变量,而其他线程目前还不行,重启虚拟机就可以了。
12.重启之后重复最开始的步骤,打开存有代码的文件夹,然后执行:
接着输入 lunch 指令
再输入需要的文件编号
13.之后再执行 make 命令
我是有出现版本过高不能编译的错误,只有3.81和3.82的版本可以
14.下载地址为 http://ftp.gnu.org/gnu/make/
15.然后解压 make到目录中
tar –xjvf make-3.81.tar.bz2
接着进入到 make-3.81目录当中执行
./configure
这时可能会有报错,比如找不到 gcc 等等,缺什么就安什么 ,apt install 等等...
*必须注意* 安装所需依赖时,有可能报错,多换换 apt源试试
换源之后别忘了 apt update
16.完成之后继续 ./configure
17.接着执行make命令
我在这里遇到一个error
这里一般都会报错。
解决方案是,打开 glob/glob.c
注释掉210行 和 231行
gedit glob/glob.c
18.然后执行make clean命令,尤其是如果第一次没改之前失败了,别忘了make clean一下。
19.再执行一次make命令
是可以看到之前哪个错误是没有了的
20.最后一步,make install
完成之后,make -v 就可以看到已经是3.81版本了