2012-10-28 128 views
1

剛開始使用Visual Studio 2012測試android應用程序開發& Mono droid。 到目前爲止這麼好,但我注意到的第一件事是啓動新項目並沒有創建AndroidManifest.xml。我發現你可以從Project proporties中生成一個。 結果:Visual studio 2012和mono droid

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> 
<uses-sdk /> 
<application> 
</application> 
</manifest> 

我也注意到,在自動生成Activity1.cs有行:

[Activity(Label = "Apptest", MainLauncher = true, Icon = "@drawable/icon")] 

但是,當我嘗試刪除該行代碼上面,它通過整合問題上升的manifest.xml如下:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> 
    <uses-sdk /> 
    <application android:icon="@drawable/Icon"> 
    <activity class=".Activity1" 
       android:label="Apptests"> 
     <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    </application> 
</manifest> 

This is whats happening when running project

如何在AndroidManifest.xml中正確地描述Activity1.cs?

回答

2

根據Android documentation,不存在<Activity class="">等屬性。它應該是<Activity android:name="">

但是Android的Mono使用自定義屬性來處理AndroidManifest.xml中的幾乎所有內容,因此您不必費心添加任何內容。

所以你的情況,如果你堅持,你的AndroidManifest.xml的活動部分應該是這樣的:

<activity android:name=".Activity1" android:label="Apptests">

1

默認情況下,Monodroid會在構建時創建清單文件。它需要你的項目設置和註釋,並從這些文件創建清單文件。你真的不應該刪除你的活動的註釋。將它留在中,monodroid會爲你處理它,並將它與清單中的其他任何東西合併。

1

AndroidManifest.xml作爲構建過程的一部分生成,Properties \ AndroidManifest.xml中的XML與基於自定義屬性生成的XML合併。