Менеджер Android SDK не открывается


227

Поэтому я установил Android SDK для Windows:

http://developer.android.com/sdk/index.html (ссылка для установки)

И столкнулся с проблемой переменной пути. Поэтому я исправил это, изменив «PATH» в переменных окружения, указав, где находится мой файл java.exe из JDK.

Но теперь, когда я открываю android sdk manager, экран, похожий на cmd, кратковременно мигает на пол секунды, а затем исчезает. Я понятия не имею, что происходит и как заставить это работать.


@ user624869: Какую версию Windows вы используете? Кроме того, о какой «переменной пути» вы упоминаете?
Squonk

53
Попробуйте запустить SDK из командной строки, используя android.batпапку инструментов.
Alpine


2
Должен быть подробный пост с объяснением обо всех этих типах java-пути, sdk-пути, sdk / avd manager, который не отображается, права администратора, android.bat .. какие проблемы возникают из-за динамического связывания связанных путей.
Фредрик Гаусс

Ответы:


265

Убедитесь, что ваш java\binкаталог находится в вашей инструкции пути перед windows\system32каталогом. Менеджер SDK использует Java, и он нашел его в папке system32.

В окне CMD вы можете запустить ' where java'. Не забудьте перезапустить CMD после изменения переменной пути для проверки.


11
Можете быть более конкретными ? Я не знаю, где находится мой java \ bin, это C: \ Program Files \ Java \ jdk1.7.0_11 \ bin? Что значит "перед каталогом windows \ system32"? И какой смысл запускать "где Java" в CMD?
Хи Фонг

37
ОК, я понял это. В моем случае это означает переход в «Компьютер» -> «Дополнительные параметры системы» -> «Переменные среды» -> «PATH» -> «Изменить»: убедитесь, что они в следующем порядке: C: \ Program Files \ Java \ jdk1.7.0_11 \ bin;% SystemRoot% \ system32; ....
Хи Фонг

9
Должен ли я использовать JDK bin или JRE bin?
Peterdk

5
@Peterdk JDK. Все, что волнует, предпочтет JDK. Все остальное не будет суетиться.
AlbeyAmakiir

3
Тем не менее я не могу открыть SDK Manager путем изменения пути среды.
Йог Гуру

181

Хорошо, у меня была та же самая проблема, и ни один из этих ответов не работал для меня (я использую Windows 8). Я попытался запустить tools/android.batи заметил, что там есть некоторые ошибки. Я исследовал дальше, и, похоже, что-то не так в коде, который находит ваш путь к Java.

Вот как это исправить:

  1. Откройте tools/android.batв вашем любимом текстовом редакторе
  2. Искать этот кусок кода:

    set java_exe=
    call lib\find_java.bat
    if not defined java_exe goto :EOF
  3. Замените это на это:

    set java_exe=D:\Program Files\Java\jdk1.7.0_07\bin\java.exe 

    где путь - это путь к вашему Java-файлу.

  4. Бегать android.bat

(в моем случае я должен был указать путь к java_exeшагу 3 без кавычек, чтобы он работал.)


7
Я также использую Windows 8 и имею ту же проблему, что и оригинальный постер. Как и в случае с teuneboon, ни одно из других решений не сработало для меня, кроме этого. Спасибо teuneboon!
Раддфуд

3
@teuneboon спасибо за это решение. И я обнаружил, что это происходит только тогда, когда вы поместили свой Android SDK в любую папку / путь, который содержит пробелы.
ПК.

@ПК. Это значит, что если я переименую родительскую папку Android SDK, то эта проблема решена?
Дипак

@ Deepak да, все, что вам нужно позаботиться о том, чтобы на полном пути не было пробелов.
ПК.

1
@ПК. Извините, но это не помогает мне, я нашел эту ссылку, и это сработало для меня stackoverflow.com/a/7567354/1250370 .
Дипак

26

Существует много причин, по которым SDK Manager не открывается. Вместо того, чтобы пробовать каждый из них вслепую, я рекомендую запустить android.bat в командном окне, чтобы вы могли прочитать сообщение об ошибке и применить правильное исправление.


21

В последней версии Android SDK запуск «SDK Manager.exe» и / или «AVD Manager.exe» больше не открывается. Даже ссылка «Запустить автономный менеджер SDK» в Android Studio, которую ранее можно было найти в настройках Android SDK, теперь не используется.

Теперь рекомендуется выполнять ручное управление SDK и AVD в Android Studio. Но для тех, у кого нет Android Studio или для тех, кто не любит открывать Android Studio только для выполнения управления SDK, вы все равно можете управлять SDK с помощью инструментов командной строки, "tools / bin / sdkmanager.bat" и " tools / bin / avdmanager.bat " .

Эта информация доступна при запуске "tools / android.bat". Я думаю, что это верно для тех, кто в настоящее время имеет Android SDK версии 25.3.1 и выше.


Есть ли способ исправить проблему, а не просто обойти ее с помощью инструментов командной строки?
DaveTheMinion

Хотя это и не ответ на вопрос, мне пришлось повысить это для наглядности, потому что SDK Manager.exe по каким-то причинам не существует в последних загрузках SDK. Может быть упаковать все в Android Studio. Фактически, ответ @ bmdelacruz в основном соответствует тому, что говорит Google здесь: developer.android.com/studio/intro/update.html#sdk-manager
Хьюго М. Зулета,

Мое затмение Luna работало хорошо, я добавил несколько более поздних sdks, и оно сработало и отправило мое приложение, теперь я хочу внести некоторые изменения, оно больше не открывается, я попробовал sdkmanager целую кучу ошибок, но все еще не загружается
becker

При запуске sdkmanager.bat слишком много ошибок!
Алекс Джолиг

19

Та же проблема здесь. Исправлена! Я установил правильный Java-компонент, все для 64-битных, потому что моя система x64, и ничего не произошло. Поэтому я пошел C:\Users\[my name]и удалил каталог .android, который был создан при первом запуске SDK, очевидно, с некоторой неправильной конфигурацией.

Тогда это сработало. Вы можете попробовать это. Удалите эту папку или просто переместите ее на рабочий стол и запустите SDK.


16

Google удалил графический интерфейс для SDK, начиная с версии 26. Если вы используете версию 26, попробуйте понизить версию до 25. Вы все равно можете открыть SDK из Android Studio.

Источник: GUI для Android SDK manager исчез?


15

Кажется, есть несколько способов запустить SDK Manager:

  1. SDK Manager.exe в корне Android SDK.
  2. SDK Manager.exeв sdk\tools\libAndroid SDK.
  3. Window -> Android SDK Manager меню в Затмении
  4. android.batв sdk\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

НО , критическая проблема в моем случае заключается в том, что он решает загрузить файл jar из папки lib\x86или lib\x86_64. В какой-то момент возникла путаница между ошибкой файла BAT, 32-разрядным JDK и 64-разрядным Android SDK.

ТАК , обходной путь в моем случае должен был:

  1. Удалить ВСЕ версии Java
  2. Установите JDK
    • Вы можете использовать 32-битный Android SDK и установить 32-битный JDK
    • Или используйте 64-битный Android SDK и установите 64-битный JDK
    • Но «битность» JDK должна соответствовать Android SDK. Похоже, что 32-разрядная или 64-разрядная версия будет работать на 64-разрядном компьютере, поскольку ДОЛГО КАК битность JDK совпадает с битностью Android SDK.
  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

После этого я могу успешно запустить SDK Manager, запустив его android.batили из меню Eclipse (но все равно не запустив ни один из SDK Manager.exeфайлов напрямую).


Пожалуйста, не размещайте один и тот же ответ на несколько вопросов. Если вопросы совпадают, оставьте комментарий или отметьте их как дубликаты. Если они не совпадают, пожалуйста, адаптируйте свой ответ на заданный вопрос.
Джордж Стокер

Мой android.bat запускает sdk manager, но sdk manager.exe нет. Ошибка в отображении android.bat не найдена. Вы можете мне помочь?
Анкита

Вы можете установить ANDROID_SWT = lib \ x86 или lib \ x86_64 перед запуском android.bat, чтобы указать swt_path.
Питер Квиринг,

13

Самый простой способ - запустить программу от имени администратора.

Щелкните правой кнопкой мыши SDK Manager -> Запуск от имени администратора.

Это должно решить проблему :)


2
Действительно решил проблему. Это лучшее решение. Если вы хотите установить это поведение по умолчанию, установите флажок «Выполнить эту программу от имени администратора» на вкладке «Совместимость» свойств файла.
Корбелья

9

У меня была такая же проблема, попытался установить переменные пути и все. Менеджер SDK нуждается не в JDK, а в самом дерьме конечного пользователя Java SE. Перейдите по адресу http://www.java.com/en/download/ie_manual.jsp?locale=en и загрузите его. Как только я закончил установку, это работало как шарм


8

Попробуйте добавить путь Java (указывающий на JDK) к системным переменным среды.

Щелкните правой кнопкой мыши «Компьютер»> «Свойства»> «Дополнительные параметры системы»> «Переменные среды».

Затем в разделе Системные переменные добавьте новую переменную.

Variable   Value
JAVA_PATH  C:\Program Files\Java\jdk1.7.0

Затем отредактируйте Pathпеременную с префиксом %JAVA_PATH%\bin;.


6

Поиск файла android.bat в папке инструментов работал для меня. Забавно, что это такая рутина, чтобы заставить его бежать. По моему опыту, обычно .exe файлы работают как положено. Я не уверен, почему это не так в этом случае ... странно и раздражает!


5

У меня было что-то совершенно другое, чем другие ответы.

Я побежал tools/android.batи получил

java.lang.NullPointerException
        at java.io.File.<init>(File.java:251)
        at com.android.sdklib.internal.avd.AvdManager.parseAvdInfo(AvdManager.java:1623)
        at com.android.sdklib.internal.avd.AvdManager.buildAvdList(AvdManager.java:1584)
        at com.android.sdklib.internal.avd.AvdManager.<init>(AvdManager.java:357)
        at com.android.sdklib.internal.avd.AvdManager.getInstance(AvdManager.java:380)
        at com.android.sdklib.internal.repository.updater.UpdaterData.initSdk(UpdaterData.java:259)
        at com.android.sdklib.internal.repository.updater.UpdaterData.<init>(UpdaterData.java:127)
        at com.android.sdkuilib.internal.repository.SwtUpdaterData.<init>(SwtUpdaterData.java:61)
        at com.android.sdkuilib.internal.repository.ui.SdkUpdaterWindowImpl2.<init>(SdkUpdaterWindowImpl2.java:104)
        at com.android.sdkuilib.repository.SdkUpdaterWindow.<init>(SdkUpdaterWindow.java:88)
        at com.android.sdkmanager.Main.showSdkManagerWindow(Main.java:408)
        at com.android.sdkmanager.Main.doAction(Main.java:391)
        at com.android.sdkmanager.Main.run(Main.java:151)
        at com.android.sdkmanager.Main.main(Main.java:117)

Похоже, у меня была испорченная конфигурация AVD, поэтому я пошел и очистил свои виртуальные устройства, и все снова заработало! (Файлы C:\Users\YourUser\.android\avdдля пользователей Windows)


4

Я столкнулся с той же проблемой и, наконец, сумел ее решить. Затем я создал пошаговое руководство, содержащее универсальное исправление, чтобы помочь всем разработчикам решить эту проблему как можно скорее: http://www.dominantwire.com/2015/03/android-sdk-not-opening.html.

Все шаги вкратце:

1. Если у вас есть jdk v1.8. Удалите его и переустановите jdk v1.7.xx

2. Установите пути к папкам jdk и jre bin в переменных окружения.

3. удалите (сначала сделайте резервную копию) папку .android, находящуюся в C:> Users> [user-name]> .android

4. Установите переменную JAVA_HOME, указав в качестве имени переменной JAVA_HOME, а в качестве значения переменной укажите путь к папке bin в jdk.

5. Перейдите в [sdk-каталог]> инструменты. Найдите и щелкните правой кнопкой мыши файл android.bat и выберите «изменить», чтобы открыть его в блокноте и внести следующие изменения.

ОРИГИНАЛ

set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF

ОБНОВЛЕНО

set java_exe=C:\Program Files\Java\jdk1.7.0_75\bin\java.exe
rem call lib\find_java.bat
rem if not defined java_exe goto :EOF

ПРИМЕЧАНИЕ. Скопируйте и вставьте свой собственный путь к каталогу java.exe, как описано выше.

ОРИГИНАЛ

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

ОБНОВЛЕНО

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

ПРИМЕЧАНИЕ: если ваш Android SDK является 64-битным, то упомяните set swt_path = lib \ x86_64, иначе, если он 32-битный, сохраните его как set swt_path = lib \ x86

  1. Готово! Запустите Android SDK из файла Android.bat или из затмения. Это должно открыться просто отлично!

Мой android.bat запускает sdk manager, но sdk manager.exe нет. Ошибка в отображении android.bat не найдена. Вы можете мне помочь?
Анкита

3

Я перепробовал почти все решения, представленные здесь. Но ничего не получилось. И, наконец, я загрузил инструменты (tools_r25.2.3-windows.zip) по ссылке ниже и заменил подпапку tools в папке sdk. Это начало работать.

https://developer.android.com/studio/index.html#downloads

Делиться этим как информацией, хотя это старая тема.


2
Замена toolsпапки внутри каталога SDK загруженным и извлеченным tools_r25.2.3-windows.zipтакже решила мою проблему, но целевая ссылка была обновлена ​​с помощью новейших инструментов, которые не решили эту проблему. Я скачал ZIP прямо отсюда: dl.google.com/android/repository/…
Touhid

3

Недавно я столкнулся с этой проблемой после того, как я установил эмулятор Android с помощью менеджера SDK в Android Studio - который также обновил мои инструменты Android SDK до 26.0.1 (как это было обязательным условием - в соответствии с менеджером SDK Android Studio).

В моем случае я просто заменил toolsпапку Android SDK на toolsпапку из более старого Android SDK. Это понизило инструменты Android SDK, но теперь я могу открыть менеджер SDK с помощью SDK Manager.exe.


1
Привет, я думаю, что моя проблема началась после обновления до 26 тоже. Как вы получаете старые инструменты Android SDK?
user77177928

Вариант 1. Если у вас есть установщик Android Studio (предпочтительно более старая версия Android Studio) в комплекте с Android SDK, вы можете установить как Android Studio, так и Android SDK - затем замените уже существующую папку инструментов SDK на недавно установленную папку инструментов SDK.
Мунтасир

1
Вариант 2. Вы можете посетить здесь или здесь, чтобы загрузить старые инструменты Android SDK. (вы можете найти некоторые старые инструменты SDk здесь , как хорошо, но эти инструменты слишком стары)
Мунтасир

Спасибо, это серьезная ошибка команды Android. 26 версия имеет много пропавших файлов! Понижение до предыдущих инструментов SDK работало.
user77177928

2

Также убедитесь, что нет JRE до вашего JDK в PATH в Windows. Oracle всегда вставляет свой собственный JRE в путь раньше всего (я установил Oracle Lite после того, как установил Android SDK).


2

Та же проблема здесь, я попробовал все решения, но ничего не получалось. Затем я вошел C:\Users\User_nameи удалил папку «.android», после чего SDK Manager мог нормально открыться и автоматически создал другую папку «.android».


2

Я решил эту проблему. Если вы не можете открыть "SDK Manager.exe" из проводника или у вас возникли проблемы с SDK Manager.

Сначала проверьте, указан ли Java-путь в Переменной среды. (запустите команду Java на CMD или запустите «Где Java на CMD» в качестве администратора). Если команда Java распознана, возможно, проблема с Java отсутствует

Это может быть из-за сломанного SDK Tools. Чтобы исправить это, сначала переименуйте toolsпапку (Android\Sdk\tools)в tools.old. Теперь загрузите https://dl.google.com/android /repository/tools_r25.2.3-windows.zip?hl=id . После этого извлеките загруженные zip-файлы, Android\Sdk\следовательно, в новую toolsпапку будет извлечено все содержимое SDK. Теперь открой SDK Manager.exe. Если он откроется, ваша проблема решена. Обратите внимание, что SDK Manager.exe - это файл запуска, который запускается Android\Sdk\tools\bin\sdkmanager.bat. если вы удовлетворены ответом, пожалуйста, сообщите об этом Upvote, чтобы максимальное количество пользователей решило проблему. Для получения дополнительной помощи посетите эту страницу https://answers.unity.com/questions/1320150/unable-to-list-target-platform.html


2

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

Другое решение, которое стоит рассмотреть, - переместить Android SDK в каталог без пробелов в его названии.

Например, в моем случае он состоял в:

e:\Program Files (x86)\Android\android-sdk\

и потерпит неудачу. Когда переехал в:

c:\android_sdk_sucks\

Это сработало.


В этом случае вы можете использовать кавычки, когда пробел находится в такой папке. "e: \ Program Files (x86) \ Android \ android-sdk \"
Дипак Гоэль

1

Я пробовал все самые популярные решения раньше, и никто не работал для меня, пока я не понял, что в папке Android SDK не должно быть пробелов, поэтому я изменил ее с «C: \ Android SDK» на «C: \ Android_SDK». Так просто, как, что.


Я думаю, что это место на пути. Я использовал C: \ Programs вместо C: \ Program Files, и это работало. И это для v3.01 четыре года спустя! Я чувствую, что снова в 90-х.
ssimm

1

Ничего не помогает мне от всех этих ответов, но я нашел правильные шаги (Windows 7 64 бит):

1) Откройте android.bat из папки sdk для редактирования;

2) Добавьте именно эти две строки :

set java_exe=c:\Program Files\Java\jdk1.8.0_25\bin\java.exe
rem call lib\find_java.bat

вместо этого :

set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF

Где c:\Program Files\Java\jdk1.8.0_25ваша папка jdk. 3) Наслаждайтесь. SDK Manager запустится из Android студии IDE.


1

Я установил Android Studio для Mac. Мне не удалось получить доступ к менеджеру SDK через IDE. Оказывается, мне просто нужно было установить переменную окружения JAVA_HOME. Как только я получил этот набор, я смог запустить SDK-менеджер.


0

Я столкнулся с той же проблемой. При запуске android.bat я нашел решение (если Java установлена ​​в «нормальном» каталоге Windows, то есть в «программных файлах»), вам нужно заключить в кавычки символы «c: / program files /» и т. Д. И т. Д. В противном случае он не может найти Ява на "C: / программа". (мне не нравятся пробелы)


0

Проблема с моим состояла в том, что я мог запустить SDK-менеджер с помощью двойного щелчка на android.bat, но не тогда, когда я дважды щелкал по фактическому приложению SDK-менеджера. Я решил эту проблему, установив новую переменную среды:

ANDROID_HOME = C:\Development\adt-bundle-windows-x86_64-20130911\sdk\

перезагрузил мой компьютер, и теперь я могу дважды щелкнуть приложение и запустить SDK Manager. Надеюсь, это поможет :)


Я также получаю ту же проблему, но не могу решить с помощью решения, которое вы дали
Анкита

0

Я видел ответы, которые предоставляют решения для обхода путем жесткого кодирования java.exeместоположения и x86/ x86_64строки архитектуры вsdk\tools\android.bat . Это быстрые решения, но они не решили фундаментальную проблему, которая мне действительно интересна.

Фактическая проблема, с которой я столкнулся, заключается в том, что пакетный сценарий не может найти другой файл сценария / jar-файла и поэтому не может быть продолжен. Я мог бы сказать, что сценарий был плохо написан.

После того, как я сделал следующие изменения в sdk\tools\android.bat , все работает как шарм.

В частности, я добавил %~dp0\:

set java_exe=
call %~dp0\lib\find_java.bat
if not defined java_exe goto :EOF

...

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

Теперь попробуйте запустить скрипт, и SDK Manager должен выйти.

ps Моя установка ОС, Java 8 и Android SDK свежая, и я не делал никаких дополнительных настроек.

ps Вам все еще может потребоваться настроить переменную среды PATH, чтобы скрипт мог найти подходящую java.exe.


0

Я тестирую каждый способ, но единственный способ был переустановить SDK-менеджер по тому же пути, что и старый


0

http://quantumsupport.blogspot.com/2011/03/android-sdk-managerexe-wont-start.html

Создайте новую учетную запись пользователя, либо переустановите, либо просто запустите android.bat, и он должен работать.


1
Я просто не вижу, как это хороший вариант. У меня нет доступа на моей машине (рабочей машине) для создания новой учетной записи пользователя. Какие существуют пользовательские настройки, которые нужно удалить?
Мэтью Бониг

0

Я столкнулся с подобной проблемой, когда менеджер SDK высветил окно командной строки и умер.

Вот что сработало для меня: мой процессор и операционная система оба 64-битные. Я установил 64-битную версию JDK. Проблема не исчезнет с переустановкой JDK или изменением пути. Моя теория заключалась в том, что SDK Manager может понадобиться 32-битная версия JDK. Не знаю, почему это должно иметь значение, но в итоге я установил 32-битную версию JDK и magic. И SDK Manager успешно запущен.


0

ОС: Windows 7- 64 бит, Android SDK: 64 бит

  1. Введите новую 'Системную переменную' с именем: JAVA_HOME со значением: C: \ Program Files \ Java \ jdk1.7.0_51

  2. Щелкните правой кнопкой мыши SDK Manager.exe -> Запуск от имени администратора.

Контрольный список:

  • Убедитесь, что путь Java в системной переменной «Путь» выглядит примерно так: C: \ Program Files \ Java \ jdk1.7.0_51 \ bin
  • В имени папки нет места, замените что-то вроде C: \ Android SDK на C: \ Android_SDK
  • Вы можете найти свой Java с помощью команды «где Java» в командной строке
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.