Android SDK проблема - не находит Java / SWT - Windows 7 x64

1

Привет, ребята, я пытался, по крайней мере, 2 недели, чтобы запустить диспетчер SDK на моем компьютере, он запускался один раз в самом начале, а затем никогда больше. Я немного поиграл, установил переменные окружения. Будучи совершенно новым для всей концепции, я в недоумении.

Я предоставил файлы android.bat и find_java.bat вдоль общих местоположений на мои Java, SDK и JDK


Я запускаю Windows 7 x64, и у меня есть JRE (32 и 64), а также 32-битный JDK, 64-битный SDK не позволит мне ничего запускать, кроме как удалить его и использовать 32-битный решил одну проблему, но на самом деле ничего не сделал.


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      ://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   ://technet.microsoft.com/en-us/library/bb490890.aspx

rem don't modify the caller 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

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

if "%1 %2"=="update sdk" goto StartUi
if not "%1"=="" goto EndTempCopy
:StartUi
echo [INFO] Starting Android SDK and AVD Manager

rem We're now going to create a temp dir to hold all the Jar files needed
rem to run the android tool, copy them in the temp dir and finally execute
rem from that path. We do this only when the launcher is run without
rem arguments, to display the SDK Updater UI. This allows the updater to
rem update the tools directory where the updater itself is located.

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

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.
call %java_exe% -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 r10             :  C:\android-sdk-windows
Java JDK 32 6 u_24 1.6.0_24 :  C:\Program Files (x86)\Java\jdk1.6.0_24
Java JRE 32 6 u_24          :  C:\Program Files (x86)\Java\jre6
Java JRE 64 6 u_24          :  C:\Program Files\Java\jre6

find_java.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 This script is called by the other batch files to find a suitable Java.exe
rem to use. The script changes the "java_exe" env variable. The variable
rem is left unset if Java.exe was not found.

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

rem Check we have a valid Java.exe in the path. The return code will
rem be 0 if the command worked or 9009 if the exec failed (program not found).
rem Java itself will return 1 if the argument is not understood.
set java_exe=java
%java_exe% -version 2>nul
if ERRORLEVEL 1 goto SearchForJava
goto :EOF


rem ---------------
:SearchForJava
rem We get here if the default %java_exe% was not found in the path.
rem Search for an alternative in %ProgramFiles(x86)%\Java\bin\java.exe

echo.
echo WARNING: Java not found in your path.

rem Check if there a 64-bit version of Java in %ProgramW6432%
if not defined ProgramW6432 goto :Check32
echo Checking if it installed in %ProgramW6432%\Java instead (64-bit).

set java_exe=
for /D %%a in ( "%ProgramW6432%\Java\*" ) do call :TestJavaDir "%%a"
if defined java_exe goto :EOF

rem Check for the "default" 32-bit version
:Check32
echo Checking if it installed in %ProgramFiles(x86)%\Java instead.

set java_exe=
for /D %%a in ( "%ProgramFiles(X86)%\Java\*" ) do call :TestJavaDir "%%a"
if defined java_exe goto :EOF

echo.

echo ERROR: No suitable Java found. In order to properly use the Android Developer
echo Tools, you need a suitable version of Java JDK installed on your system.
echo We recommend that you install the JDK version of JavaSE, available here:
echo   
echo.
echo You can find the complete Android SDK requirements here:
echo   
echo.
goto :EOF

rem ---------------
:TestJavaDir
rem This is a "subrountine" for the for /D above. It tests the short version
rem of the %1 path (i.e. the path with only short names and no spaces).
rem However we use the full version without quotes (e.g. %~1) for pretty print.
if defined java_exe goto :EOF
set full_path=%~1\bin\java.exe
set short_path=%~s1\bin\java.exe

%short_path% -version 2>nul
if ERRORLEVEL 1 goto :EOF
set java_exe=%short_path%

echo.
echo Java was found at %full_path%.
echo Please consider adding it to your path:
echo - Under Windows XP, open Control Panel / System / Advanced / Environment Variables
echo - Under Windows Vista or Windows 7, open Control Panel / System / Advanced System Settings / Environment Variables
echo At the end of the "Path" entry in "User variables", add the following:
echo   ;%full_path%
echo.

find_java.bat не найдет мой JDK, и я попробовал больше чем одно, установив пути среды, а также изменив файл .bat в соответствии с некоторыми исправлениями, которые я нашел в Интернете, и особенно здесь.

Файл android.bat не найдет Java и файл .swt и, следовательно, не будет загружен.
Может ли кто-нибудь помочь мне запустить Android SDK?

  • 0
    некоторые из ссылок я удалил https из-за чего-то репутации, которой у меня пока нет, не позволяющей мне разместить более одной ссылки
Теги:
sdk

3 ответа

1

Лучшее решение этой проблемы:

SET ENV_VARIABLES для NAME: путь ANDROID_SWT к пути 64-битного окна Windows VALUE i.e android_sdk_directory_path/toolss/lib/x86_64\

ИЛИ Else

установите 32-разрядный JDK для системы, а затем установите инструменты Android SDK.

0

Я получаю ту же проблему, я добавил все необходимые каталоги в моей среде PATH, но android.bat не работает!

Я добавил эту строку:

set java_exe=C:\Windows\System32\java.exe

после этих строк в моем android.bat:

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

android.bat и SDK Manager.exe выполняются правильно: D!

0

У меня были некоторые проблемы несколько дней назад с версиями Java на win7 x64.
Решение для меня состояло в том, чтобы удалить всю версию java и просто установить x64 JDK. Если U хочет, также JRE, но когда я перепутал оба, у меня возникли проблемы.

Веб-сайт Oracle все еще говорит мне, что у меня нет установленной Java, но eclipse и SDK для Android отлично справляются с этим.

Только с помощью JUnit я продолжаю получать ошибки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню