我在编译Android 源码的时候遇到了一个很奇怪的问题,我按照Android官网上步骤设置了编译环境,
当我使用make命令进行编译的时候,出现了如下错误:
可是我已经设置好了java的环境变量,在shell中运行java -version,显示一切正常。/bin/bash: java:找不到命令
Checking build tools versions...
************************************************************
You are attempting to build with the incorrect version
of java.Your version is: /bin/bash: java:找不到命令.
The correct version is: 1.6.Please follow the machine setup instructions at
http://source.android.com/source/download.html
************************************************************
build/core/main.mk:114: *** stop。 停止。
找了半天的解决方案,发现有很多人有这个问题,但是大部分的解决方法都不适合。
最后我弄明白时咋回事了。
我时在linux当前用户下进行的make,这时候编译需要一定的权限,比如建立新的文件夹之类的,
所以我就在源码根目录下输入了sudo make命令,这个时候就出现了如上的错误,其实问题就
出现在sudo make上,如果我们在shell中输入sudo java就会提示sudo: java:找不到命令,
也就是说当我们用sudo make时,其实时执行的sudo java,所以编译会出错。
正确的取得权限的方式不是用sudo,而是使用sudo -i进入root用户,然后在进入android源码的根目录,
在根目录下进行make,这样就不会报错了!