我刚刚获取了最新版本的 Android SDK 并开始尝试使用它。与几乎其他人提出这个问题不同,我运行的是 Linux,即 Linux Mint 13。我目前正在尝试使用 ant 编译一个 Hello World 程序,通过安装
sudo apt-get install ant
并在项目文件夹中运行:
ant debug
然而,它完全无法编译,最终抛出一个与设置有关的错误JAVA_HOME
。我修改了我的~/.bashrc
相应地文件并重新启动,但我仍然收到错误:
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib/jvm/java-7-openjdk-amd64/jre"
Total time: 1 second
jamie@jamie-ThinkPad-E525 ~/Downloads/adt-bundle-linux/sdk/tools/projects/new $ echo $JAVA_HOME
/usr/java/jdk1.7.0_05/
正如你所看到的,它是在说谎。
我发现很多关于此问题的参考资料,但大多数人要么错误地设置了 JAVA_HOME,要么将其设置为 JRE。显然,我两者都没有做过。
我还修改了我的项目文件夹ant.properties
文件,添加行
java.home=/usr/java/jdk1.7.0_05/
无济于事。
有其他人经历过/解决过这个问题,或者有什么想法吗?谢谢。
可能性是ant
说的是实话,环境变量没有设置。可能性是:
- 您将错误的语句放入“.bashrc”文件中,或者
- 你没有重新启动properly.
无论如何,您可以通过运行来验证这一点export
在运行之前在 shell 中ant
命令...并查看是否JAVA_HOME
变量已列出。
Hints:
1)这是错误的:
JAVA_HOME=/usr/java/jdk1.7.0_05/
这只会创建一个本地 shell 变量,并且本地 shell 变量不会传递给子进程(就像ant
命令)。它应该是:
export JAVA_HOME=/usr/java/jdk1.7.0_05/
2)尝试运行这个:
export JAVA_HOME=/usr/java/jdk1.7.0_05/
ant
3)添加java.home=/usr/java/jdk1.7.0_05/
到 ant.properties 没有帮助。 Ant 需要环境变量中的设置。
4)计算机程序不会说谎。他们说的是他们所看到的真相。或者更准确地说,除非行为人有意图,否则说谎和说真话的整个概念都是毫无意义的。但关键是,如果您开始怀疑计算机程序试图欺骗您,那么您将很难调试事情。
(好吧,你是在开玩笑。但是许多人在遇到故障排除问题时都会采取类似的低效方法;例如,假设每个棘手的 Java 问题都是编译器/语言/运行时损坏的证据。IMO - 值得提醒人们,这种情况思考可能非常无益......)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)