私はこの質問が人気があることを知っていますが、解決策のどれも私を助けることができません。 this 、 this 、 this および this ソリューションを使用しましたが、誰も助けてくれません。
iautomator Tests を実装し、antでbuild.xmlをビルドする必要がありますが、この奇妙なエラーが発生します。
Windows 8.1を使用しています
Java:HOMEシステム変数がc:\ programs files\Java\jdk1.7.0_51およびc:\ programs files(x86)\ Java\jdk1.7.0_51に設定されている
PATHシステム変数も%Java_HOME%/ binに設定され、%ANT_HOME%はc:\ Apache-antに設定されます。
しかし、Android app derictoryでant buildを実行すると、
unable to locate tools.jar. Expected find it in C:\Program Files\Java\jre7\lib\tools.jar
BUILD FAILED
Perhaps Java_HOME does not point to the JDK
しかし、私のJava_HOMEは正しいJDKを指しています!私はこれと混同しました。また、ビルドを数回再構築しましたが、同じ結果になりました。
誰かが私を助けてくれたら嬉しいです。
PATHの開始に%Java_HOME%を設定する問題を解決しました。最初に正確に設定すると、うまくいきました。
私もこの問題を抱えており、次のような変数を設定することで解決しました。
[1] ANT_HOME - C:\Apache-ant-1.9.3
[2] Java_HOME - C:\Program Files\Java\jdk1.7.0_21
[3] PATH - D:\Android_Development\Android_sdk\platform-tools\;%ANT_HOME%\bin;%Java_HOME%\bin;D:\Android_Development\Android_sdk\tools
注:これらはすべて、ユーザー変数ではなくシステム変数に設定します。
これで私の問題が解決しました。
それが役に立てば幸い。
この問題を回復するには、「C:\ ProgramFiles\Java\jdk1.7.0\lib」から「C:\ Program Files\Java\jre7\lib \」に直接tools.jarをコピーします。問題を正常に回復できます。 。
できます!..
システム-変数で設定します:
ser-variablesからJava/Antに関連するすべてを削除します
コマンドラインを再起動して(!)、実行中のインスタンスのコンテキストで新しい変数を受け取ります。
tools.jarに関して、私は次のことを経験しました。antをダウンロードすると、open Java 7ただし、ダウンロードしたシステムでは、Java 8 u 40(Oracleバージョン)を使用しています。 Linuxのソフトリンクを介してtools.jarの場所にlib/jreを指定すると、エラーが発生しました。これはバージョン/ Subversionですこれは、antがバージョン7を使用しており、Oracleのtools.jarがバージョン8であったためです。
解決策は、上記のヘルプ(Java_PATHをmyOracleバージョン8u40のJava)に設定して、コンパイラとtools.jarファイルは同じバージョンです。
私のシナリオでは、jdkがOracleから/home/david/Desktop/Android5.0/jdk1.8.0u40ディレクトリにダウンロードされたときにダウンロードされます-Androidパッケージ/home/david/Desktop/Android5.0ディレクトリー、/ home/david/workspaceにあるEclipseワークスペース-そして今、私は行きたいと思っています。
Ant-file build.xmlは/ home/david/workspaceディレクトリに配置されます-これは次のようになります:
<project>
<target name="clean">
<delete dir="build"/>
</target>
<target name="compile">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes"/>
</target>
<target name="jar" depends="compile">
<mkdir dir="build/jar"/>
<jar destfile="build/jar/HelloWorld.jar" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="oata.HelloWorld"/>
</manifest>
</jar>
</target>
<target name="run" depends="jar">
<Java jar="build/jar/HelloWorld.jar" fork="true"/>
</target>
</project>
この質問のJavaファイル-HelloWorld.Javaは、ディレクトリ/ home/david/workspace/build/src/oataに置かれています。これで、上記の宛先にコンパイルされます。 、そこからjarファイルも構築されています。
True-Java別のふりをするバージョンを作成できるメソッドがあります-しかし、私はそこに行きたくありませんでした、なぜなら私は抽出ができるビルド環境をセットアップしているからですリポジトリからビルドし、ビルドしたコードをダウンロードサイトに保存します。
上記のbuild.xmlサンプルは、ビルド用の次のAntチュートリアルから若干変更されています。 https://ant.Apache.org/manual/tutorial-HelloWorldWithAnt.html
Guys-それもあなたのために働くことを願っています。なぜなら、antは実際に構築するための最良の方法の1つであり、コマンドラインから呼び出すことができるため、最初にリポジトリからファイルを選択することができます(GitHubまたはBitBucketなど)、そしてその後、コンパイルされた結果を開発者向けの好みのダウンロードサイトにFTPで送信できます。最悪の場合、バージョンを準備して圧縮できるようにコードを圧縮できます。
Tools.jarをC:\ Program Files\Java\jdk1.8.0_91\libからコピーし、C:\ Program Files\Java\jdk1.8.0_91\binにパテします。私の場合はうまくいきました
Java_HOME
およびPATH
変数の値を確認してください。
Java_HOME="C:\Program Files\Java\jdk1.8.0\bin" .
の代わりに
Java_HOME="C:\Program Files\Java\jdk1.8.0" .
およびPATH=%Java_HOME%\bin;%PATH% .
cLIでPATH変数をエコーアウトするだけです。
echo %PATH%.