MonoDevelop не может найти AVD или его не замечают, как он работает

Я новичок в Mono и Android. Я искал эту проблему, и самое близкое, что я нашел, говорит об ошибке Java и говорит о «переустановке» SDK, что я и сделал, но безуспешно.

Что я заметил, так это то, что Android Virtual Device Manager имеет список всех моих устройств в какой-то папке, но попробуйте инициировать устройство в другой папке.

Вы можете увидеть эти два места (на моей машине) здесь: http://yfrog.com/nydnrp

Если я скопирую папку avd в место, где он пытается запустить эмулятор, он запускается, но MonoDevelop не замечается. Эмулятор никогда не доступен во всплывающем окне «Выбор устройства», а кнопка «ОК» никогда не доступна. Я искал, могу ли я найти какое-нибудь место, чтобы настроить правильный путь к AVD или какой-то способ сообщить MonoDevelop, что эмулятор рухнет, но безуспешно.

Кто-нибудь может мне помочь?

Заранее спасибо.


person ppalmeida    schedule 23.01.2012    source источник


Ответы (1)


. Я понимаю. Потратив 3 дня на поиски, я нашел проблему на форуме Google: есть ошибка с AndroidSDK на Windows 7 x64. Решение: вам нужно создать «переменную среды», чтобы сообщить AVD Manager (и всем AndroidSDK), где находится «корневая» папка вашей установки SDK. Сумасшедший, что ли?

Ну, чтобы сделать это (если вы еще не знаете), сделайте это:

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

После этого:

  1. Нажмите «Дополнительные параметры системы».

  2. На вкладке «Дополнительно» нажмите «Переменные среды…».

  3. Нажмите на кнопку "Новый..."

  4. Вставьте «ANDROID_SDK_HOME» в качестве «Имени переменной» и папку, в которой находится/установлен ваш AndroidSDK. В моем случае это что-то «D:\MY_COMPANY\ANDROID\MONO_INSTALL\ANDROID_SDK\android-sdk», где «android-sdk» — это корневая папка моей установки SDK. Вставьте все эти значения без «кавычек», конечно.

  5. Нажмите кнопку ОК столько раз, сколько вам нужно, чтобы закрыть все окна.

  6. Перезапустите AVD Manager и MonoTouch.

Теперь все должно работать нормально. Но ... все еще есть проблема: когда MonoDevelop запускает приложение, в окне «Выбор устройства» он не видит никаких AVD для запуска. Я запускаю эмулятор AVD из AVDManager и жду, пока он полностью загрузится. Когда он полностью запущен, я нажимаю кнопку «Обновить» в MonoDevelop «Выбрать устройство» и жду, когда эмулятор появится в списке. Я не могу выбрать это и нажать кнопку «ОК», но «двойной щелчок» по имени эмулятора помогает. MonoDevelop «понимает», что я хочу использовать эмулятор, и начинает сборку и развертывание приложения.

Я очень надеюсь, что это поможет ребятам, которые начинают изучать MonoDevelop и Android. Разработчики Xamarin должны лучше задокументировать такого рода «глюки» и «обманы конфигурации среды». Подобные «ошибки SDK», конечно, не являются ошибкой команды MonoDevelop, но предупреждение ее потенциальных клиентов поможет и придаст уверенности на их стороне.

person ppalmeida    schedule 25.01.2012
comment
MonoDevelop обнаруживает только AVD, запущенные из MonoDevelop или Visual Studio, потому что таким образом он может подтвердить, что они были запущены с несколькими необходимыми параметрами. - person Mikayla Hutchinson; 26.01.2012