web-dev-qa-db-ja.com

Android SDKとAVDマネージャーは実行されません

Android SDKをインストールしましたが、AVDマネージャーとSDKマネージャーが実行されないため、使用できません。どちらかを開こうとすると、コマンドプロンプトウィンドウが約半分表示されます。 2番目に閉じます。コマンドプロンプトからexeを実行して、エラーメッセージが表示されたかどうかを確認しましたが、出力がなく、同じように動作します。問題を調査したところ、他のコンピューターでもまったく同じことが発生することがわかりました。 。そこに掲載されているソリューションのいくつかを試しました。

うまくいかなかったソリューション

  • PATH環境変数の先頭にJDKの場所を追加する
  • Android SDKの場所をPATH環境変数に追加する
  • 管理者としてアプリケーションを実行する
  • ユーザー(.Android)ディレクトリからC:/Users/[User Name]フォルダを削除する
  • Program Filesではなく、C:ドライブのルートにインストールする

OS情報:Windows 7 Home Premium、管理者権限


更新

問題の原因を見つけたと思いますが、それを修正する方法がまだわかりません。問題は、Android.batディレクトリにあるC:\Android\android-sdk\toolsファイルにあるようです。 find_Java.batを呼び出そうとしますが、構文の小さな問題のために呼び出すことができません。これは出力です:


'C:\ Android\ANDROI〜1\tools\lib\find_Java.exe -s'は、内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません。

エラー:適切なJavaが見つかりません。Android開発者ツールを適切に使用するには、適切なバージョンのJava =システムにJDKがインストールされています。ここから入手できるJavaSEのJDKバージョンをインストールすることをお勧めします: http://www.Oracle.com/technetwork/Java/javase/downloads

完全なAndroid SDK要件はここにあります: http://developer.Android.com/sdk/requirements.html


Android.batにいくつかの変更を加えた後、find_Java.batを呼び出すことができました。これにより、何をしてもエラーが発生しました。私はついにイライラし、Java.exeの場所にハードコーディングすることにしました。後でバッチファイルにさらに別のエラーがありました。インストールまたはバッチファイルに何か問題があると思い始めています。これはバッチファイル(Android.bat)です:

@echo off
rem Copyright (C) 2007 The Android Open Source Project
rem
rem Licensed under the Apache License, Version 2.0 (the "License");
rem you may not use this file except in compliance with the License.
rem You may obtain a copy of the License at
rem
rem      http://www.Apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.

rem Useful links:
rem Command-line reference:
rem   http://technet.Microsoft.com/en-us/library/bb490890.aspx

rem don't modify the caller's environment
setlocal

rem Set up prog to be the path of this script, including following symlinks,
rem and set up progdir to be the fully-qualified pathname of its directory.
set prog=%~f0

rem Grab current directory before we change it
set work_dir="%cd%"

rem Change current directory and drive to where the script is, to avoid
rem issues with directories containing whitespaces.
cd /d %~dp0


rem Check we have a valid Java.exe in the path.
set Java_exe=
call lib\find_Java.bat
if not defined Java_exe goto :EOF

set jar_path=lib\sdkmanager.jar;lib\swtmenubar.jar

rem Set SWT.Jar path based on current architecture (x86 or x86_64)
for /f %%a in ('%Java_exe% -jar lib\archquery.jar') do set swt_path=lib\%%a

:MkTempCopy
    rem Copy Android.bat and its required libs to a temp dir.
    rem This avoids locking the tool dir in case the user is trying to update it.

    set tmp_dir=%TEMP%\temp-Android-tool
    xcopy %swt_path% %tmp_dir%\%swt_path% /I /E /C /G /R /Y /Q > nul
    copy /B /D /Y lib\androidprefs.jar   %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\org.Eclipse.*      %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\sdk*               %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\common.jar         %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\commons-compress*  %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\swtmenubar.jar     %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\commons-logging*   %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\commons-codec*     %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\httpclient*        %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\httpcore*          %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\httpmime*          %tmp_dir%\lib\        > nul

    rem jar_path and swt_path are relative to PWD so we don't need to adjust them, just change dirs.
    set tools_dir=%cd%
    cd /d %tmp_dir%

:EndTempCopy

rem The global Android_SWT always override the SWT.Jar path
if defined Android_SWT set swt_path=%Android_SWT%

if exist %swt_path% goto SetPath
    echo ERROR: SWT folder '%swt_path%' does not exist.
    echo Please set Android_SWT to point to the folder containing swt.jar for your platform.
    goto :EOF

:SetPath
rem Finally exec the Java program and end here.
REM set REMOTE_DEBUG=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
call %Java_exe% %REMOTE_DEBUG% -Dcom.Android.sdkmanager.toolsdir="%tools_dir%" -Dcom.Android.sdkmanager.workdir=%work_dir% -classpath "%jar_path%;%swt_path%\swt.jar" com.Android.sdkmanager.Main %*

rem EOF

更新(再度)

Android SDKをvirtualboxで実行されているWinXPにインストールしましたが、完全に機能します。ただし、Win7でも使用できるようにしたいと思います。

9
lopsided98

JDKの新しいx64バージョンをインストールしましたが、問題は修正されました

5
merlin

これが私がそれをWindows8で動作させる方法です

  1. Java_HOME環境変数を追加し、それをJavaインストール場所(つまり、C:\Program Files (x86)\Java\jdk1.6.0_39\bin)に設定します。

  2. 次に、C:\ Users {YOUR USERNAME}\AppData\Local\Android\android-sdk\tools\Android.batを編集します。set Java_exe= call lib\find_Java.bat行を見つけて、set Java_exe=Java.exeに変更します。

  3. ファイルを保存すると、実行されます

swtの場所に関するエラーが発生した場合は、パスをハードコーディングするだけです。 lib\x86またはlib\x86_64に設定します

お役に立てれば

8
user2345534

この問題は、64ビットJDKを使用した64ビットwin 7proの新規インストールと新規インストールで発生しました。

この投稿のケントンプライスの解決策は私を直しました、そして今それはすべて完全に機能します。

Android SDKのインストールでJDKが見つかりません

何らかの理由で、私のシステムの(元々Linuxで開発された)ADKには、WindowsスタイルのバックスラッシュではなくLinuxスタイルのスラッシュで定義されたJava_HOMEが必要でした。

3

Rajeshが上記のコメントから見つけたのと同じ問題を見つけました。この行の括弧内のコマンドは実行されていませんでした

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

編集:一部の人はこの行を持っているかもしれません:for/f "delims =" %% a in( '"%〜dps0find_Java%Arch_ext%.exe" -s')do set Java_exe = %% a

この行は、SDKのfind_Java.batディレクトリにあるtools\lib\からのものです。

私はWin7 x64システムを使用しており、OS全体をリロードするつもりはないので、MZBが上記の投稿から提案した内容をハードコーディングしました。

この行の後:

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

編集:またはこの行:

for/f "delims =" %% a in( '"%〜dps0find_Java%Arch_ext%.exe" -s')do set Java_exe = %% a

私はこの行を追加しました:

set Java_exe=%Java_HOME%\bin\Java.exe

これは、Java_HOME環境変数がJava JDKフォルダー(\binなし)に設定されていることを前提としています。

Java_HOME変数に\binが含まれている場合は、次のように設定します。

set Java_exe=%Java_HOME%\Java.exe

Java_HOME環境が設定されていない場合は、MZBが彼の投稿で行ったように、マシン上にある実際のパスを使用してハードコーディングする必要があります。

Javawロジックでも同様に行いました。

set javaw_exe=%Java_HOME%\bin\javaw.exe

ついにSDKManagerにアクセスできるようになりました。


2015年6月1日更新:

私が投稿した後にこの投稿を更新したKenY-Nへ:

この投稿を作成したとき、私はこの行を参照していました:

for/f "delims =" %% a in( '"%〜dps0find_Java%Arch_ext%.exe" -s')do set Java_exe = %% a

これは、昨日、現在のバージョンのAndroid Studio Windows x64バージョン(Android-studio-bundle-)から更新したばかりのフォルダー...\sdk\tools\libの現在のfind_Java.batにあります。 141.1903250-windows.exe)。変数%Arch_ext%には、システムに応じて32または64が含まれます。

しかし、上記の行がどのように変換されたかはわかりません。

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

kenY-Nが編集を行った後。

しかし、find_Java.batファイルにあなたのバージョンがある人もいるかもしれませんが、私のように他のバージョンがある人もいると思います。 SDKマネージャーを開くことができないという問題を抱えている人のためにこれを指摘しているだけです。

さらに、JDK1.7とJDK1.8の両方でこの問題が発生したことを述べておく必要があります。もともとJDK1.8をインストールしていましたが、昨日Android Studioの要件を読んだところ、JDK1.7が必要だと言われたので、問題は解決すると思って昨夜JDK1.7をインストールしましたがfind_Java.batの問題は、どちらのバージョンのJDKでも同じでした。

Android Studioと両方のバージョンのJDKをインストールしたとき、元々SDKManagerにアクセスしてからAndroid Studio初めてですが、Android Studioを開いたとき、最初にSDK Managerの更新を開始しました。おそらく、起動後にIDEA =プロジェクト、その後SDKManagerを開くことができませんでした。

したがって、find_Java.batには、Android Studioを初めて開く前に次の行があります:

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

そして、Adroid StudioがSDKを更新するとき、この行がありますか?

for/f "delims =" %% a in( '"%〜dps0find_Java%Arch_ext%.exe" -s')do set Java_exe = %% a

それをテストする時間がありません-SDKにアクセスする方法を理解しようとしてすでに多くの時間を失っています。同じ問題が発生している場合は、他の誰かがこれを確認できるかもしれません。

2
Todd

Lopsided98と同様の問題が発生し、ここでもすべての解決策を試しましたが、結果はありませんでした。それから、最初にJava studioを起動する前に、Androidを見つけるために環境変数を追加する必要があったので、 _Android_home_の新しいシステム変数を、私のAndroidフォルダーC:\Program Files (x86)\Androidに送信しました。Java =その後、問題なく起動しました。SDKマネージャーも起動して動作しています。それでも問題が解決しない場合は、これがお役に立てば幸いです。

これは、Javaパーツを設定したときに見つけたもので、Androidも試してみるかもしれないと思っていました。

一部のWindowsシステムでは、ランチャースクリプトがJavaがインストールされている場所を検出しません。この問題が発生した場合は、正しい場所を示す環境変数を設定する必要があります。

[スタート]メニュー> [コンピューター]> [システムのプロパティ]> [システムの詳細プロパティ]を選択します。

次に、_Advanced tab > Environment Variables_を開き、JDKフォルダーを指す新しいシステム変数_Java_HOME_を追加します。

C:\ Program Files\Java\jdk1.7.0_21。

1
Tomym617

Android SDKマネージャーを開くことができないという同じ問題もありましたが、ユーザー(C:/ Users/[ユーザー名])ディレクトリから.Androidフォルダーを削除すると機能します...

ありがとう

1
user2045798

私はWindows8.1で同じ問題に直面しました、そしてそれは管理者としてAndroid Studioを実行することによって解決されます

0
MAbdulHalim

私はこの問題を抱えていましたが、問題は次のようになりました。

D:\dev\adt-bundle-windows-x86_64-20130522\sdk>"tools\lib\find_Java.exe"
C:\Windows\system32\Java.exe

何年も前に、プログラムがJavaを見つけて、それをsystem32ディレクトリにコピーして「解決」することに問題があったことをぼんやりと思い出します。

私はそれらのファイルを削除しました。

D:\dev\adt-bundle-windows-x86_64-20130522\sdk>"tools\lib\find_Java.exe"
C:\Program Files\Java\jre7\bin\Java.exe

sDK/ADKマネージャーが正しく実行されるようになりました。

0
Joseph Lennox

Windows-864ビットマシンでも同じ問題が発生しました。 find_Java.batファイル内の特定のステートメントfor /f "delims=" %%a in ('"%~dps0\find_Java.exe" -s') do set Java_exe=%%aに問題を絞り込みました。

何らかの理由で、括弧内のステートメントがコマンドとして実行されていませんでした。上記の提案されたすべての解決策を試しましたが、どれも機能しませんでした。結局、この特定のステートメントは別のWindows 8 64ビットマシンで正常に機能することがわかったため、Windows8のインストールに問題がありました。 OSシステムファイルを確認したところ、一部が破損していることが判明したため、Windows 8のインストールを修復したところ、すべて正常に機能しました。

0
Rajesh

\ tools\lib\find_Java.batがJava.exeおよびjavaw.exe実行可能ファイルの場所を正常に判別できないという問題がある可能性があります。

ここでの回避策: http://www.gmansoft.com/Android-sdk-manager-find-Java-problem/ 私のために働いた。 Android.batの問題を「修正」した場合でも、他のバッチファイルは壊れていることに注意してください。

上記のリンクが壊れた場合の回避策は、find_Java.batの結果をハードワイヤードして、Java実行可能ファイルの実際の場所を返すことです。たとえば、次のように編集します。

rem Check we have a valid Java.exe in the path. The return code will
rem be 0 if the command worked or 1 if the exec failed (program not found).
rem for /f "delims=" %%a in ('"%~dps0\find_Java%Arch_ext%.exe" -s') do set Java_exe=%%a
set Java_exe=c:\program files\Java\jdk1.8.0_25\bin\Java.exe
if not defined Java_exe goto :CheckFailed

:SearchJavaW
rem Check if we can find a javaw.exe at the same location than Java.exe.
rem If that doesn't work, just fall back on the Java.exe we just found.
rem for /f "delims=" %%a in ('"%~dps0\find_Java%Arch_ext%.exe" -s -w') do set javaw_exe=%%a
set javaw_exe=c:\program files\Java\jdk1.8.0_25\bin\javaw.exe
if not exist "%javaw_exe%" set javaw_exe=%Java_exe%
goto :EOF
0
MZB

作業環境をアップグレードしたときに同じ問題に直面しました。問題は<AndroidSDK>\tools\lib\find_Java.batにありました(このファイルを指摘してくれた人に感謝します)。 32ビットバージョンをインストールしているときに、64ビットバージョンのJavaを検索しました。 set Arch_ext=32のシンプルで汚いfind_Java.batは、私にとって問題を解決しました。

0
deko

問題がWindowsマシンにある場合は、管理者としてAVDManagerまたはSDKManagerを実行するだけです。

0
Jaydeep

.Androidフォルダーは削除しないでください。 Juzは、.Androidフォルダー内のavdフォルダーを削除します。それはあなたの仕事に多くの利益をもたらすはずです。

事前の歓声。プラカシュ。

0
Prakash