刚开始使用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>
如何在AndroidManifest.xml中正确描述Activity1.cs?
答案 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合并。