Visual Studio 2012和单声道机器人

时间:2012-10-28 19:28:27

标签: xamarin.android

刚开始使用Visual Studio 2012测试Android应用程序开发单声道机器人。 到目前为止这么好,但我注意到的第一件事就是启动新项目它没有创建AndroidManifest.xml。我发现你可以从项目比例生成一个。 结果:

<?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?

3 个答案:

答案 0 :(得分:2)

根据Android documentation,没有<Activity class="">这样的属性。它应该是<Activity android:name="">

但Mono for Android使用自定义属性处理AndroidManifest.xml中的几乎所有内容,因此您无需为此添加任何内容。

所以在你的情况下,如果你坚持,AndroidManifest.xml的activity部分应该是这样的:

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

答案 1 :(得分:1)

默认情况下,Monodroid会在构建时创建清单文件。它接受您的项目设置和注释,并从中创建清单文件。你真的不应该删除活动上的注释。保留它,monodroid会为你处理它并将它与清单中的任何其他东西合并。

答案 2 :(得分:1)

AndroidManifest.xml是在构建过程中生成的,并且在Properties \ AndroidManifest.xml中找到的XML与基于自定义属性生成的XML合并。