1

刚开始使用 Visual Studio 2012 和 Mono droid 测试 android 应用程序开发。到目前为止一切顺利,但我注意到的第一件事是开始新项目它没有创建 AndroidManifest.xml。我发现您可以从 Project proporties 生成一个。结果:

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

这是运行项目时发生的事情

如何在我的 AndroidManifest.xml 中正确描述 Activity1.cs?

4

3 回答 3

2

根据Android 文档,没有<Activity class="">. 应该是<Activity android:name="">

但是 Android 的 Mono 使用自定义属性处理 AndroidManifest.xml 中的几乎所有内容,因此您不必费心向其中添加任何内容。

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

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

于 2012-10-31T22:54:36.520 回答
1

Monodroid 默认在构建时创建清单文件。它采用您的项目设置和注释,并从中创建清单文件。你真的不应该删除你活动的注释。把它留在里面,monodroid 会为你处理它,并将它与清单中的任何其他内容合并。

于 2012-10-29T14:43:18.347 回答
1

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

于 2012-10-30T06:46:02.530 回答