13

我正在使用 MonoDroid 在 Visual Studio 2010 中开发一个 Android 应用程序。我已经很远了,能够在模拟器和 Android 设备上运行和调试我的应用程序。出于某种原因,我的 Visual Studio 不再将应用程序正确调试到我的设备上。我(有时)得到的错误是:


微软视觉工作室

无法启动应用程序。确保应用程序已安装到目标设备并具有可启动的活动 (MainLauncher = true)。

此外,检查 Build->Configuration Manager 以确保将此项目设置为 Deploy 用于此配置。

好的

(上面的所有解决方案我都已经检查过了..)

其他时候根本没有错误,Visual Studio 只是停止运行或应用程序启动正常,但 Visual Studio 没有响应。

该错误最近才开始,而(几乎)应用程序没有任何变化。我希望有人之前遇到过这个错误,并且知道这是因为某些属性设置还是什么?

PS:我也相信它可能是由我的相机引起的,我在我的应用程序中使用它,当我的应用程序决定部署时(约 5 次中的 1 次)它在相机屏幕上崩溃,这是相机代码:

    private void CreateCamera(ISurfaceHolder holder)
    {
        try
        {
            if (holder != null)
            {
                camera = Android.Hardware.Camera.Open();
                Android.Hardware.Camera.Parameters p = camera.GetParameters();
                p.PictureFormat = ImageFormatType.Jpeg;
                camera.SetParameters(p);
                camera.SetDisplayOrientation(90);
                camera.SetPreviewCallback(this);
                camera.Lock();
                camera.SetPreviewDisplay(holder);
                camera.StartPreview();

                if (PackageManager.HasSystemFeature("android.hardware.camera.autofocus"))
                {
                    camera.AutoFocus(this);
                }
            }
        }
        catch (System.Exception e)
        {
            Android.Util.Log.Debug("SIMPLECAMERA", e.Message);
            System.Console.WriteLine(e.Message);
        }
    }
4

4 回答 4

10

在 Visual Studio 2010 中:构建 -> 配置管理器 -> 选中“部署”框。

当我从调试配置更改为发布时,这发生在我身上。出于某种原因,“部署”框仍未选中。

于 2013-02-11T16:50:43.053 回答
7

对我来说,我一直勾选 Deploy 复选框,但如果您针对模拟器的“任何 CPU”目标,我发现诀窍是明确针对 x86。

我正在运行 32 位 PC,x86 平台设置位于配置管理器中:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

第一次运行应用程序需要几分钟(安装平台框架等)。

编辑:我刚刚找到了官方文档,一些基于 ARM 的架构和 x86 的问题是要走的路

于 2013-12-25T11:11:34.907 回答
6

特定于安卓

如果您尝试了上述所有解决方案仍然没有成功,请转到您的应用程序管理器并检查是否使用您的应用程序名称或服务名称安装了任何东西并卸载它们。

有时即使您卸载了应用程序,应用程序管理器中仍会显示 0KB 大小。

当我从发布模式更改为调试模式时,它发生在我身上。

于 2015-12-20T02:24:00.560 回答
0

我必须卸载应用程序、Mono Shared Runtime 和 Xamarin.Android API 才能正常工作。

于 2016-04-26T00:09:55.140 回答