В моем университете недавно в лабораториях работал монодроид, и я потратил целый день, пытаясь разобраться с ним.
Тем не менее, после создания базовых обучающих сценариев для реального телефона (желание 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, и все они возвращают сообщения о принудительном закрытии при запуске на моем устройстве. Я посмотрю некоторые настройки компилятора и сделаю перезагрузку этой системы.
Когда я запускаю отладку (зеленая стрелка), она даже не активирует кнопки паузы/остановки (как и должно быть на эмуляторе). На самом деле понятия не имею, что не так, как будто приложение убивается, как только оно отправляется на устройство. У меня есть ощущение, что он был неправильно установлен на этих системах, так как я пробовал два компьютера в лаборатории.