Недавно в моем университете работал монодроид в лабораториях, и я потратил целый день, пытаясь разобраться с ним.
Тем не менее, после создания базовых обучающих сценариев для реального телефона (желания hd и невероятные s) они немедленно вызовут сообщение принудительного закрытия.
[РЕДАКТИРОВАТЬ] Хорошо здесь идет. Это (на мой взгляд), чрезвычайно простая процедура, основанная на первоначальном monoDevelopProject.
Я упустил использование разделов пространства имен для ясности, все они оставлены по умолчанию.
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button>(Resource.Id.MyButton);
// on button click change button text
button.Click += delegate { button.Text = string.Format("You clicked the button!") };
}
Итак, он компилируется, собирается и работает без ошибок на стандартном эмуляторе SDK 2.3. Но не на реальном устройстве.
Я не могу получить отладочную информацию с устройства (я следовал инструкциям, чтобы разрешить отладку по Wi-Fi). С точкой останова, включенной в строку 3 выше (base.onCreate(bundle);
), он, похоже, даже не вступает в этот метод и просто останавливает отладку после принудительного закрытия.
Я попытаюсь снова отладить это с устройства и сейчас получу более подробную информацию. Возможно, я что-то не так понял.
Я только что попробовал несколько примеров проектов из xamarin gitHub, от простых макетов до полных примеров 3d oGL, и все они возвращают сообщения принудительного закрытия при запуске на моем устройстве. Я посмотрю на некоторые настройки компилятора и сделаю перезагрузку этой системы
Когда я запускаю отладку (зеленая стрелка), она даже не включает кнопки паузы / остановки (как это должно быть и работает на эму). На самом деле понятия не имею, что не так, это как если бы приложение было убито, как только оно отправлено на устройство. У меня такое ощущение, что он не был правильно установлен в этих системах, так как я попробовал два компьютера в лаборатории.