Когда я запускаю команду android я делаю следующее исключение в bash, но с sudo все в порядке.

java.lang.NullPointerException
at com.android.sdklib.internal.avd.AvdManager.parseAvdInfo(AvdManager.java:1387)
at com.android.sdklib.internal.avd.AvdManager.buildAvdList(AvdManager.java:1366)
at com.android.sdklib.internal.avd.AvdManager.<init>(AvdManager.java:315)
at com.android.sdklib.internal.avd.AvdManager.getInstance(AvdManager.java:325)
at com.android.sdkuilib.internal.repository.UpdaterData.initSdk(UpdaterData.java:266)
at com.android.sdkuilib.internal.repository.UpdaterData.<init>(UpdaterData.java:123)
at com.android.sdkuilib.internal.repository.ui.SdkUpdaterWindowImpl2.<init>(SdkUpdaterWindowImpl2.java:104)
at com.android.sdkuilib.repository.SdkUpdaterWindow.<init>(SdkUpdaterWindow.java:87)
at com.android.sdkmanager.Main.showSdkManagerWindow(Main.java:339)
at com.android.sdkmanager.Main.doAction(Main.java:322)
at com.android.sdkmanager.Main.run(Main.java:119)
at com.android.sdkmanager.Main.main(Main.java:102)

Обычно проблема заключается в отсутствии java, но java -version работает нормально. Похоже, у этого андроида нет прав на использование Java, но как это может быть? То же самое с Apple и Oracle Java.

PS MacOS 10.7.5

1 ответ1

0

Я понятия не имею, почему команда android успешно работает с sudo, но я нахожу решение.

Схема для решения этой проблемы: (пути для MacOS 10.7.5)

  1. Проверьте, что JDK установлен. /Library /Java /JavaVirtualMachines
  2. Откройте ~ /.android /avd - это папка с avds(для меня не было ни одного .avd, и я просто удалил соответствующий .ini)

В этом исключении мы можем найти эту проблему в parseAvdInfo. (В версии 21.0.1 SDK Tools эта проблема не решена, и android выдает это исключение. Может быть, позже решение находится в обновлении Android SDK)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .