14

問題:

  • SDK Managerを開くことができません(1秒間だけ点滅します)
  • Eclipseにビルドパスターゲットがありません

パス:

Android SDK: C:\Program Files\Android\android-sdk
JDK used for android: C:\Program Files\Java\jdk1.7.0_04 (There are other JDKs also in dir Java)

環境変数:

ANDROID_SDK_HOME: C:\Program Files\Android\android-sdk
JAVA_HOME: C:\Program Files\Java\jdk1.7.0_04;C:\Program Files (x86)\Java\jre1.6.0;C:\Program Files\Java\jre7;
System Path: C:\Program Files\Java\jdk1.7.0_04\bin;C:\Program Files\Java\jdk1.7.0_01\bin;C:\Program Files (x86)\Java\jdk1.5.0\bin;C:\Program Files\Android\android-sdk\tools\

エラー:

SDK Manager on cmd
Failed to execute tools\android.bat. 
The system cannot find the file specified

Android.bat on cmd
Unable to access jar file lib\archquery.jar
Invalid path

find_java on cmd
nothing returned
4

7 に答える 7

25

同様の問題がありました-android.bat(および必要に応じてtraceview.batを編集する必要がありました)

android.batで探します

for /f %%a in ('%java_exe% -jar %frameworkdir%archquery.jar') do set swt_path=%frameworkdir%%%a

と置換する

set swt_path=lib\x86
于 2012-06-12T15:53:44.420 に答える
8

YMMV ですが、android.bat の編集に加えて、前の回答で説明したように、SDK Manager を Windows 8 64 ビットで実行することができませんでした。

  • Javaのすべてのバージョンをアンインストールしました
  • 再起動*
  • X86 JDK のみをインストール (インストーラーの Public JRE オプションを含む)

私はこれらすべてのことを以前に*再起動せずに試しましたが、これがSDKマネージャーを実行する唯一の方法でした. この情報が、私が経験した完全なフラストレーションと無駄な時間の一部からあなたを救うことを願っています. ツールを箱から出して実行するだけでも、なんてお尻の痛みでしょう。ひどい経験。

前の回答へのコメントとして返信したはずですが、どうやらそれを行うのに十分な担当者がいないようです: https://meta.stackexchange.com/questions/25725/how-do-you-comment-on-a -具体的な答え

編集:以下のより完全な回答。(再起動は関係ないと思います。)

SDK Manager を起動するには、いくつかの方法があるようです。

  1. SDK Manager.exeAndroid SDK のルートにあります。
  2. SDK Manager.exesdk\tools\libAndroid SDKの
  3. Window -> Android SDK ManagerEclipse のメニュー
  4. android.batsdk\toolsAndroid SDKの

android.bat私の場合、次の行で失敗したように見えます:

for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a

その行が何をしているのか...手動で実行した場合:"[path_to_java]java" -jar lib\archquery.jar

正常に返されます:x86_64

しかし、バッチ ファイルが同じコマンドを実行すると、理由はわかりませんが、次のエラー メッセージで失敗します。

Unable to access jarfile lib\archquery.jar

したがって、変数swt_pathは空の文字列に設定されます。そこからすべてが崩壊します。

バッチ ファイルは、変数の正しい値を設定しますjava_exe。他の人はこれを問題として一般的に報告していますが、それらの回避策は私の場合には関係ありませんでした.

問題の行の先頭に REM を追加してコメントアウトし、swt_path変数を手動で設定する行を追加することをお勧めします。これは有効な回避策です。

REM for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
set swt_path=lib\x86

しかしlib\x86、私の場合の重大な問題は、ここまたはlib\x86_64フォルダーからjarファイルをロードすることを選択していることです。ある時点で、BAT ファイル エラー、32 ビット JDK、および 64 ビット Android SDK の間で混乱が生じていました。

SO、私の場合の回避策は次のとおりです。

  1. Java のすべてのバージョンをアンインストールする
  2. JDK をインストールする
    • 32 ビット Android SDK を使用して、32 ビット JDK をインストールすることができます。
    • または、64 ビット Android SDK を使用して、64 ビット JDK をインストールします。
    • ただし、JDK の「ビット数」は Android SDK と一致する必要があります。JDK のビット数が Android SDK のビット数と一致する限り、32 ビットまたは 64 ビットのいずれかが 64 ビット コンピューターで動作するようです。
  3. 「android.bat」を編集

    • 32 ビット Android SDK/JDK を使用している場合は、次を使用しますlib\x86

      REM for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
      set swt_path=lib\x86
      
    • 64 ビット Android SDK/JDK を使用している場合は、次を使用しますlib\x86_64

      REM for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a
      set swt_path=lib\x86_64
      

これを行った後、 を実行するか、Eclipse メニューから SDK Manager を正常に実行できandroid.batます (ただし、どちらのSDK Manager.exeファイルも直接実行することはできません)。

于 2013-03-13T11:58:22.147 に答える
3

Windows 7では、少なくとも、リストのコマンドを実行するときのバッチ'FOR'ループは、現在の作業ディレクトリではなく、ルートを使用します。この場合、コマンドは'%java_exe%-jar lib\archquery.jar'です。ただし、ルートから効果的に実行されています(例:'C:\')。コマンドラインからのこの簡単なテストで、これを自分で確認できます。

for /f %a in ('CD') do echo %a

したがって、archqueryを実行するコマンドは、ADTディレクトリではなく、ルートディレクトリを基準にしてjarを検索しているため、見つかりません。

于 2013-03-13T16:22:18.363 に答える