4

Android SDKの最新バージョンを入手して、使用を開始しました。この問題を思いついた他のほとんどの人とは異なり、私はLinux、つまりLinuxMint13を実行しています。現在antを使用してHelloWorldプログラムをコンパイルしようとしています。

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/

無駄に。

他の誰かがこの問題を経験/解決したか、または何かアイデアを持っていますか?ありがとう。

4

3 に答える 3

5

可能性としては、それantが真実であり、環境変数が設定されていない可能性があります。可能性は次のとおりです。

  • 「.bashrc」ファイルに間違ったステートメントを入れた、または
  • 適切に再起動しませんでした。

とにかく、コマンドexportを実行する前にシェルで実行することでこれを確認できますant...JAVA_HOME変数がリストされているかどうかを確認します。


ヒント:

1) これは間違っています:

JAVA_HOME=/usr/java/jdk1.7.0_05/

それはローカルシェル変数を作成するだけで、ローカルシェル変数は子プロセスに渡されません(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-この種のことを人々に思い出させる価値があります考えることは非常に役に立たない可能性があります....)

于 2012-12-15T00:44:58.690 に答える
0

試す:

$ ant -diagnostics | grep java\\.home

もしそれがあなたの期待と違うなら、

$ JAVA_HOME=/path/to/jdk ant -diagnostics | grep java\\.home
于 2012-12-15T02:13:21.353 に答える