Pull to refresh

Comments 29

Сейчас заканчиваю проект на Xamarin.Android. Чувствую что это мой последний проект с использованием данных тулзов из-за того что отлаживать приложения это просто кромешный ад. (бесконечные зависания, фризы, крэши отладчика и т.д.) Общения с саппортом на всех уровнях ни к чему не привели. Хамарин продолжает плодить новые продукты не доводя до финала предыдущие. 4.6 версия Mono for Android и до сих пор такая лажа…
Таки-да, тормозит люто-бешено (об этом было в статье). Не скажу что это прям доводит до отвращения к инструментарию, но неприятно. Зато вырабатывает привычку сразу писать код хорошо, чтобы потом отлаживать было меньше.
Можно попробовать запустить андроид в виртуальной машине (virtual pc) и дебажить в нем. Получается быстрее и стабильнее (но, конечно, андроид при этом не армовский, а х86-ой).
У меня приложение работает с железом через BT, так что эмулятор не вариант.
Странно, в статьях о Mono.Android не раз уже вижу комментирии о том, что отладчик тормозит. Но у себя почему-то такого не замечал. Запуск программы после нажатия кнопки Start проходит примерно за 3 секунды. Прыжки по F10 проходят за 200-300мс, не больше. Серьезные зависания отладчика тоже не частое явление… Единственное, что заметил, лучше в режиме отладчки не нажимать на кнопку Stop, вместо неё нажать на Continue, пока управление вернется андроиду и только потом нажать на Stop.
PS. Использую Win8, VS2012, послендий Mono.Android и последний JDK. Отладка на Galaxy Note.
С другой же стороны, для Indy-разработчика цена в $1k для каждой платформы мне, например, кажется чрезмерной

Для инди разработчика есть инди лицензия за $299. Да, в VS разрабатывать не получится, но новая Xamarin Studio очень неплоха.
на самом деле можно и разрабатывать :)
Например, скачав последнюю триальную версию mono for android, которая на данный момент не потеряла актуальности. Ну и по крайней мере с её помощью всегда можно будет открывать проекты в VS и разрабатывать дальше… без возможности дебага :) По крайней мере для не UI-части может быть нормальным выходом. Ну и для проведения рефакторингов с помощью решарпера.
И по поводу Indie и $299. У них сильно изменилась трактовка «инди-разработчиков». Если раньше под нее подпадали небольшие компании (до 10 человек), то сейчас — это только «одиночки».
Смотрю сейчас на страницу Pricing с описанием возможностей. в Indy-лицензии нет поддержки Visual Studio. Для меня, например, это решающий фактор. От удобства разработки в привычном окружении тоже многое зависит. И скорость работы и моральное удовлетворение от работы. Как-то так.
Как я и написал в комментарии
Да, в VS разрабатывать не получится

Но, сама VS стоит очень дорого. И тем, кто работает на OSX все же может подойти именно инди. Не для всех возможность работы в VS решает. Просто уточнил.
А с Obj-C блоками эта штука умеет работать?
То есть, создать блок в Native code и вызвать из C#.

P.S. В примерах из документации monotouch описан обратный процесс.
Да, только obj-c блоки надо оборачивать в Си и их подключать к C#.

Пытался инсталлировать — скачал XamarinInstaller.exe, запускаю, он спрашивает уведомлять ли центр о багах, жмешь продолжить и никакой инсталляции, ни сообщений об ошибках. Пробовал уже на двух разных ПК — везде результат одинаковый. Может ему что-то надо дополнительно? Хотел на С# под андроид попробовать.
Как вариант, можно попробовать инсталлятор в режиме совместимости с более ранней версией Win. Он там качает миллионы всего, может есть смымл создать новую админскую учетку на машине и попробовать из нее через Run as Administrator, предварительно сделав ipconfig /flushdns. Firewall отключить временно и антивирус…
У меня везде Windows XP, куда уж более ранние. Попробовал и антивирус и файервол отключать и от учетки Администратора запускать (хоть мой экаунт и так администратор на ПК) — толку ноль, все время один и тот же результат…
Здесь предлагают логи посмотреть и переустановить .NET Framework вручную. Может это поможет?
Все, полез логи смотреть и понял — у меня уже стоит MonoDevelop 3.0, ставил ее в прошлом году. Видимо из-за нее он и не инсталлировался, обидно — я думал он в MS VS добавит поддержку проектов на С#. Ну чтож, тогда буду в MonoDevelop пробовать. Спасибо за подсказки.
Такая же байда была, но потом на 3 раз всё ок встало, но пришлось некоторое время подождать.
В классической среде Monodevelop вполне удобно под iOS разрабатывается (ну и уж всяко лучше чем на чистом Obj-C в Xcode). К цене же лицензии под Visual Studio прибавьте еще стоимость самой вижуал студии ;)
А разве необходимо покупать полноценную студию? Я думаю должно хватить всего лишь VS Shell. Так например я ставил phalanger (php), ironruby, ironpython в vs shell и все отлично работало
Не могу запустить приложение на эмуляторе.
Пишет:

Ошибка
— — System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.

в Mono.VisualStudio.Extension.StatusBarHelper.get_IsFrozen()

в Mono.VisualStudio.Extension.StatusBarHelper.SetText(String text)

в Mono.Android.VisualStudio.MonoAndroidDeploySession.ShowProgressText(String text, CancellationToken token)

в Mono.Android.VisualStudio.MonoAndroidDeploySession.BuildAndSignPackage(CancellationToken token)

в Mono.Android.VisualStudio.MonoAndroidDeploySession.DeployApplication(AndroidDevice device, CancellationToken token)

в Mono.Android.VisualStudio.MonoAndroidDeploySession.OnDeploy()
— ОК


В чём может быть проблема?
Судя по всему, проблема связана с интеграцией плагина и студии.
Какая версия плагина?
Какая версия студии?
Какая версия Android SDK? (апгрейдить до последней пробовали?)
Пробовали запускать студию с правами админа?
Пробовали перед запуском студии делать adb kill-server?
Пробовали удалять отладочный сертификат? bit.ly/XznJ6T
Пробовали дебажить на устройстве?
Пробовали удалить Xamarin тулзы и MonoDevelop и поставить заново?
Если все указанное не подошло, то есть смысл написать на официальном форуме: forums.xamarin.com/
Да, еще, если solution из Xamarin Studio запускать, деплоит нормально?
Visual Studio 2010, Плагин последний.
Может, триальная версия не умеет запускать в эмуляторе?
Но не охота платить 200 долларов и получать ту же самую ошибку.

Знаете, походу, для меня знакомство с Xamarin заканчивается, так и не успев начаться.
Триал полнофункциональный, должен уметь все, что умеет Enterprise версия.
По поводу 2010 студии сложно сказать, использую 2012ю. Лучше, наверное, на форуме спросить. Обычно в течении суток кто-то отвечает на вопрос.
Деплой из Xamarin Studio IDE работает? Или тоже валится?
Знаете, походу, для меня знакомство с Xamarin заканчивается, так и не успев начаться.

Ну, индейцы не ищут легких путей. не скажу что у меня без граблей все получилось. Были грабли и много. Ищущий да обрящет :)
Кстати, где-то в настройках проекта покапался, и выбрал Android 2.2, приложение вроде деплоется на эмулятор. Однако, где оно?!
В Xamarin Studio тоже самое — эмулятор запускается, но где же в нём моё приложение?!

Отписал на форум.

Канитель такая ещё со знакомства — меня это напрягает.
В Xamarin Studio тоже самое — эмулятор запускается, но где же в нём моё приложение?!

Возможно, вы не указали MainLauncher = true в аннотации для главной активити?
На гитхабе есть проект monodroid-samples. Можно попробовать с него начать знакомство с тулкитом.
Sign up to leave a comment.

Articles