我的大學最近得到MonoDroid的在實驗室工作,我已經花了一整天試圖去處理它。強制關閉始終存在的Android設備上(即使很簡單的Hello World代碼)
然而,在建設基礎教程腳本到實際電話(Desire HD與Incredible 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 emu。但不是在實際的設備上。
我無法從設備檢索任何調試信息(我已經按照說明操作,以允許無線網絡調試)。在上面第3行包含的斷點(base.onCreate(bundle);
)看來甚至沒有進入這個方法,只是在關閉後停止調試。
我會嘗試再次從設備進行調試,並獲得更多的細節。我可能弄錯了一些東西。
我剛纔想了幾個例子項目從xamarin Github上,從簡單的佈局,以全3D OGL實例和所有在我的設備上運行返回強制關閉的消息。我將研究一些編譯器設置並重新啓動系統
當我運行調試(綠色箭頭)時,它甚至不啓用暫停/停止按鈕(就像它應該在emu上一樣)。真的不知道什麼是錯的,就好像應用程序一發送到設備就被殺了一樣。我有一種感覺,因爲我現在已經在實驗室中嘗試了兩臺電腦,所以未在這些系統上正確安裝。
您可以發佈調試輸出日誌崩潰? –
這是很難調試你看不到的東西:)我建議[編輯]這包括作爲一個簡單的複製器,你可以建立和詳細的錯誤信息,你可以得到。 (特別注意編譯器警告。) – sarnold
你可以嘗試刪除你的斷點嗎?當Android檢測到應用程序沒有響應時會顯示這個「強制關閉」對話框 - 調試器在等待斷點時就是這種情況。也許MonoDevelop沒有顯示斷點(或錯誤的文件),所以你可以嘗試沒有斷點或使用「運行」來繼續執行,看看它*是否解決了這個問題。 – poupou