我知道这个问题已经被问过好几次了,但似乎没有一个答案有效。
简短版本: 我需要让 Ant 指向我的 JDK 而不是我的 JRE。
长版:
我的问题是我正在尝试做一些Android
自动化,并且我正在使用Powershell
脚本来启动它。一旦 Powershell 脚本运行,JUnit 测试就会通过 Ant 构建运行。但是当我构建时,我得到了这个错误:
BUILD FAILED
C:\Android\adt-bundle-windows\sdk\tools\ant\build.xml:598: The following error occurred while executing this line:
C:\Android\adt-bundle-windows\sdk\tools\ant\build.xml:713: The following error occurred while executing this line:
C:\Android\adt-bundle-windows\sdk\tools\ant\build.xml:727: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Android\Jre7"
我认为问题可能是我没有正确设置 JAVA_HOME 变量,所以我检查了:
这是我从命令行运行的 JAVA_HOME 的输出:
C:\Android\JDK
这是我set
在命令行中运行时的输出:
C:\Android\JDK
这是我$env:$JAVA_HOME
从 Powershell 命令行运行时的输出
C:\Android\JDK
我到处看,似乎JAVA_HOME
路径设置为:
C:\Android\JDK
我也尝试build.xml
在 Android 中更新该文件,但没有奏效。我查看了ant.bat
文件,但没有帮助。我真的很茫然。
这是我的路径:
PATH=C:\Android\adt-bundle-windows\sdk\platform-tools;C:\Program Files\Common Files\Microsoft Shared\Microsoft Online Services;C:\Program Files (x86)\Common Fil
es\Microsoft Shared\Microsoft Online Services;C:\windows\system32;C:\windows;C:\
windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Android\JDK\bin;C:\Android\apache-ant-1.9.1\bin;C:\Android\android-ndk-r8e;C:\Android\adt-bundle-windows\sdk\tools;C\perl\x86\bin;C:\Android\JDK\bin;
这是我查看并尝试过的链接列表:
为什么 ANT 告诉我 JAVA_HOME 是错误的,而实际上它不是?
我敢肯定还有几个,但我不记得我尝试过的所有内容,但我现在已经花了几个小时。
我在戴尔 PC 上运行 Windows 8。我安装了 JDK 7,以及 Android Eclipse 和 SDK。我正在使用 Ant 1.9.1
如果我遗漏了什么,我很抱歉。
任何帮助,将不胜感激。