【问题标题】:Monodroid raises errorMonodroid 引发错误
【发布时间】:2011-06-30 08:34:00
【问题描述】:

我正在尝试运行在 Visual Studio 中创建新项目时默认生成的简单代码。模拟器引发异常。它是 Mono for Android 的评估版。为什么会发生这种错误?谢谢。

这里是代码

using System;

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

namespace MonoAndroidApplication1
{
[Activity(Label = "MonoAndroidApplication1", 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++); };
    }
}
}

这里出错

尝试启动活动“MonoAndroidApplication1.MonoAndroidApplication1/monoandroidapplication1.Activity1”,但设备找不到它。

造成这种情况的常见原因是手动向您的 AndroidManifest.xml 添加一个名称与您的 Activity 类不匹配的名称。

考虑改用 [Activity] 属性: http://monodroid.net/Tutorials/Working_with_AndroidManifest.xml

【问题讨论】:

    标签: xamarin.android


    【解决方案1】:

    应用程序是否已成功安装在您的设备上?您可以检查应用托盘中是否有它的图标,或检查设置 -> 应用程序屏幕。

    我的猜测是应用程序由于某种原因没有成功安装,并且 IDE 没有正确检测到失败。

    【讨论】:

    • 似乎是的。我没有在我的虚拟设备上看到已安装的应用程序。我没有任何想法。也许可以在某处检查日志文件?
    • 转到 Tools->Options->Mono for Android 并打开 ADB Logging。这会将日志写入您的桌面,其中应该包含失败消息。
    【解决方案2】:
    Here information from log file 
    
        -- Starting Process - 30.06.2011 23:41:35 --
    Executable: C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe
    Arguments: start-server
    Appending Java path: C:\Program Files\Java\jdk1.6.0_26\bin
    [STDOUT] 
    -- Process Finished [5000] --
    -- Starting Process - 30.06.2011 23:41:36 --
    Executable: C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe
    Arguments: -s emulator-5554 install "C:\MonoDroid\MonoAndroidApplication2\MonoAndroidApplication2\bin\Debug\MonoAndroidApplication2.MonoAndroidApplication2-Signed.apk"
    Appending Java path: C:\Program Files\Java\jdk1.6.0_26\bin
    [STDOUT]    pkg: /data/local/tmp/MonoAndroidApplication2.MonoAndroidApplication2-Signed.apk
    [STDOUT] 
    [STDOUT] Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
    [STDOUT] 
    [STDERR] 72 KB/s (139602 bytes in 1.883s)
    -- Starting Process - 30.06.2011 23:41:54 --
    Executable: C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe
    Arguments: start-server
    Appending Java path: C:\Program Files\Java\jdk1.6.0_26\bin
    [STDOUT] 
    [STDERR] 
    -- Process Finished [5000] --
    -- Starting Process - 30.06.2011 23:41:54 --
    Executable: C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe
    Arguments: -s emulator-5554 shell am start -a android.intent.action.MAIN -n MonoAndroidApplication2.MonoAndroidApplication2/monoandroidapplication2.Activity1
    Appending Java path: C:\Program Files\Java\jdk1.6.0_26\bin
    [STDOUT] Starting: Intent { act=android.intent.action.MAIN cmp=MonoAndroidApplication2.MonoAndroidApplication2/monoandroidapplication2.Activity1 }
    [STDOUT] 
    [STDOUT] Error type 3
    [STDOUT] 
    [STDOUT] Error: Activity class {MonoAndroidApplication2.MonoAndroidApplication2/monoandroidapplication2.Activity1} does not exist.
    [STDOUT] 
    
    So the error is INSTALL_PARSE_FAILED_NO_CERTIFICATES. How to resolve it? Thanks.
    

    【讨论】:

    • 您应该编辑您的问题并将其放入代码块中。这不是一个解决方案。
    • 我在模拟器上重新安装了单声道,目前它可以正常工作。但我仍然不明白为什么会这样。无论如何感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    相关资源
    最近更新 更多