c# - monodroid - 默认新的未修改模板项目无法在 android 模拟器中运行

标签 c# android monodevelop xamarin.android

我最近使用 Visual Studio 2010 Professional 安装了 monodroid 和附加组件。它似乎在新项目中有部分编码,而且它似乎不是一个有效的示例代码。它通过使用菜单中的“构建解决方案”编译得很好,但它在 android 模拟器中不起作用。我期待一个只有文件结构的空白项目,但它似乎给了我一个不完整的示例项目。这在 visual studio 2010 pro 和 monodevelop 中都会发生。

是否存在只有文件结构的空白项目?如果可以,我在哪里可以访问它们? 如果这应该是一个空白模板,那么为什么会有一些看起来像按钮计数器的代码。

谢谢 乔恩


activity.cs 中的代码来自新的/未修改的项目

using System;

using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;

namespace helloworld_a3
{
    [Activity(Label = "helloworld_a3", MainLauncher = true, Icon = "@drawable/icon")]
    public class Activity1 : Activity
    {
        int count = 1;

        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // Get our button from the layout resource,
            // and attach an event to it
            Button button = FindViewById<Button>(Resource.Id.MyButton);

            button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };
        }
    }
}

我尝试在android模拟器上运行后的输出

Packaging application..
Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework, Version 4.0.30319.239]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

Build started 12/22/2011 3:27:28 PM.
Project "C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\helloworld-a3.csproj" on node 1 (SignAndroidPackage target(s)).
_GenerateAndroidAssetsDir:
Skipping target "_GenerateAndroidAssetsDir" because it has no outputs.
_GenerateAndroidResourceDir:
  Copying file from "Resources\Layout\Main.axml" to "C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\obj\Debug\res\layout\main.axml".
_ResolveMonoAndroidSdks:
  Looking for Android SDK..
    Key HKCU\SOFTWARE\Xamarin\MonoAndroid\PrivateAndroidSdkPath found:
      Path contains adb.exe in \platform-tools (C:\Users\jon\AppData\Local\Xamarin\MonoForAndroid\AndroidSDK\android-sdk-windows).
  Looking for Java 6 SDK..
    Key HKLM\SOFTWARE\JavaSoft\Java Development Kit\CurrentVersion found.
    Key HKLM\SOFTWARE\JavaSoft\Java Development Kit\1.6\JavaHome found:
      Path contains jarsigner.exe in \bin (C:\Program Files (x86)\Java\jdk1.6.0_27).
  MonoAndroid Tools: C:\Program Files (x86)\MSBuild\Novell\
  MonoAndroid Framework: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v2.2\;C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\
  Android SDK: C:\Users\jon\AppData\Local\Xamarin\MonoForAndroid\AndroidSDK\android-sdk-windows\
  Java SDK: C:\Program Files (x86)\Java\jdk1.6.0_27\
_ValidateAndroidPackageProperties:
  GetAndroidPackageName Task
    ManifestFile: 
    AssemblyName: helloworld-a3
    PackageName: helloworld-a3.helloworld-a3
_UpdateAndroidResgen:
Skipping target "_UpdateAndroidResgen" because all output files are up-to-date with respect to the input files.
GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
CoreCompile:
Skipping target "CoreCompile" because all output files are up-to-date with respect to the input files.
CopyFilesToOutputDirectory:
  helloworld-a3 -> C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\bin\Debug\helloworld-a3.dll
_ConvertDebuggingFiles:
Skipping target "_ConvertDebuggingFiles" because all output files are up-to-date with respect to the input files.
_ResolveAssemblies:
  ResolveAssemblies Task
    ReferenceAssembliesDirectory: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v2.2\;C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\;;
    I18nAssemblies: 
    LinkMode: None
    Assemblies:
      C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\bin\Debug\helloworld-a3.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v2.2\Mono.Android.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Core.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.Linq.dll
    [Output] ResolvedAssemblies:
      C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\bin\Debug\helloworld-a3.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v2.2\Mono.Android.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Core.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\Mono.Security.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.dll
    [Output] ResolvedUserAssemblies:
      C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\bin\Debug\helloworld-a3.dll
    [Output] ResolvedFrameworkAssemblies:
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v2.2\Mono.Android.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Core.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\Mono.Security.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.dll
_GenerateJavaStubs:
    ResolvedAssemblies:
      C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\bin\Debug\helloworld-a3.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v2.2\Mono.Android.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Core.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\Mono.Security.dll
      C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.dll
    ResolvedUserAssemblies:
      C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\bin\Debug\helloworld-a3.dll
  Touching "obj\Debug\android\AndroidManifest.xml".
_AddStaticResources:
  Resource obj\Debug\android\assets\machine.config is unchanged. Skipping.
  Resource obj\Debug\android\src\mono\MonoRuntimeProvider.java is unchanged. Skipping.
  Resource obj\Debug\android\src\mono\android\Seppuku.java is unchanged. Skipping.
_GeneratePackageManagerJava:
Skipping target "_GeneratePackageManagerJava" because all output files are up-to-date with respect to the input files.
_CreateBaseApk:
  C:\Users\jon\AppData\Local\Xamarin\MonoForAndroid\AndroidSDK\android-sdk-windows\platform-tools\aapt.exe package -f -M obj\Debug\android\AndroidManifest.xml -J C:\Users\jon\AppData\Local\Temp\1uuncz32.z2o --custom-package helloworld-a3.helloworld-a3 -F obj\Debug\android\bin\packaged_resources.bk -S "C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\obj\Debug\res" -I C:\Users\jon\AppData\Local\Xamarin\MonoForAndroid\AndroidSDK\android-sdk-windows\platforms\android-8\android.jar 
  obj\Debug\android\AndroidManifest.xml:2: Tag <manifest> attribute package has invalid character '-'.
  obj\Debug\android\AndroidManifest.xml:14: Tag <category> attribute name has invalid character '-'.
_CompileJava:
    JavaSourceFiles:
    JavaLibraries:
    AddOnPlatformLibraries:
  C:\Program Files (x86)\Java\jdk1.6.0_27\bin\javac.exe -d obj\Debug\android\bin\classes -classpath "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v2.2\mono.android.jar" -bootclasspath C:\Users\jon\AppData\Local\Xamarin\MonoForAndroid\AndroidSDK\android-sdk-windows\platforms\android-8\android.jar -encoding UTF-8 "@C:\Users\jon\AppData\Local\Temp\tmpF60D.tmp" 
C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(678,3): error MSB6006: "javac.exe" exited with code 1. [C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\helloworld-a3.csproj]
Done Building Project "C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\helloworld-a3.csproj" (SignAndroidPackage target(s)) -- FAILED.

Build FAILED.

"C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\helloworld-a3.csproj" (SignAndroidPackage target) (1) ->
(_CompileJava target) -> 
  C:\Program Files (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(678,3): error MSB6006: "javac.exe" exited with code 1. [C:\Users\jon\Documents\Visual Studio 2010\Projects\helloworld-a3\helloworld-a3\helloworld-a3.csproj]

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:01.96

Error: Cancelled
========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========

最佳答案

obj\Debug\android\AndroidManifest.xml:2: Tag <manifest> attribute package has invalid character '-'.
obj\Debug\android\AndroidManifest.xml:14: Tag <category> attribute name has invalid character '-'.

从您的项目/程序集名称中删除破折号/连字符。

关于c# - monodroid - 默认新的未修改模板项目无法在 android 模拟器中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8610982/

相关文章:

c# - 单元测试 IHttpModule 的最佳实践

add-in - 是否有帮助重构的 Monodevelop 插件?

linux - 多平台 Amazon-AWS 开发

java - Android WebView Java-Javascript 桥接器

c# - Moonlight、WebClient 和 "Exception has been thrown by the target of an invocation"

c# - 获取文件中的数据

c# - ListView SelectedIndexChanged Event没有Selected Items问题

c# - 在 C# 中,我如何按哪个项目更大来对这个对象列表进行排序?

android - Google Map V2 中的错误 java.lang.ClassNotFoundException : com. google.android.gms.maps.MapFragment

android - Android中的Google软件包版本