0

我正在尝试构建 mondroid-sample https://github.com/xamarin/monodroid-samples/tree/master/MapsAndLocationDemo

每当我启动应用程序时,我都会在输出窗口中收到以下错误:

[STDOUT] "C:\Dev\Playground\monodroid-samples\MapsAndLocationDemo\MapsAndLocationDemo.csproj" (SignAndroidPackage target) (1) ->
[STDOUT] (_GenerateJavaStubs target) -> 
[STDOUT]   C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(595,3): error MSB4018: The "GenerateJavaStubs" task failed unexpectedly. [C:\Dev\Playground\monodroid-samples\MapsAndLocationDemo\MapsAndLocationDemo.csproj]
[STDOUT] C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(595,3): error MSB4018: System.InvalidOperationException: AndroidManifest.xml : error 1: Unable to find library 'com.google.android.maps'. [C:\Dev\Playground\monodroid-samples\MapsAndLocationDemo\MapsAndLocationDemo.csproj]
[STDOUT] C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(595,3): error MSB4018:    bei Xamarin.Android.Tasks.ManifestDocument.AddAddOns(XElement app) [C:\Dev\Playground\monodroid-samples\MapsAndLocationDemo\MapsAndLocationDemo.csproj]
[STDOUT] C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(595,3): error MSB4018:    bei Xamarin.Android.Tasks.ManifestDocument.Merge(List`1 subclasses, List`1 selectedWhitelistAssemblies, Boolean embed) [C:\Dev\Playground\monodroid-samples\MapsAndLocationDemo\MapsAndLocationDemo.csproj]
[STDOUT] C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(595,3): error MSB4018:    bei Xamarin.Android.Tasks.GenerateJavaStubs.Execute() [C:\Dev\Playground\monodroid-samples\MapsAndLocationDemo\MapsAndLocationDemo.csproj]
[STDOUT] C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(595,3): error MSB4018:    bei Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [C:\Dev\Playground\monodroid-samples\MapsAndLocationDemo\MapsAndLocationDemo.csproj]
[STDOUT] C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(595,3): error MSB4018:    bei Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask, Boolean& taskResult) [C:\Dev\Playground\monodroid-samples\MapsAndLocationDemo\MapsAndLocationDemo.csproj]

我检查了以下内容:

  • SDK 管理器中安装的 Google API
  • SDK 平台安装在 SDK 管理器中
  • 我正在使用的 AVD 以 GoogleAPI 为目标
  • 我以管理员身份运行 Visual Studio
  • 我可以成功构建一个 Hello World 示例

由于我是 Mono 和 Android 开发的新手,我确信我遗漏了一些明显的东西,所以请多多包涵。

4

1 回答 1

1

看着你的照片,你从来没有提到改变它,我敢打赌你的项目是针对 2.2。

在 MonoDevelop 中,转到 Project -> Options -> Build -> General,然后查看 Target 框架。默认是针对 Android 2.2 (Froyo),看起来您想要针对 4.0 或 4.0.3。

将此更改为 4.0 或 4.0.3,您应该一切顺利。

于 2012-04-21T20:35:58.413 回答