Xamarin - Android - Visual Studio - 应用程序无法启动

Posted

技术标签:

【中文标题】Xamarin - Android - Visual Studio - 应用程序无法启动【英文标题】:Xamarin - Android - Visual Studio - The application could not be started 【发布时间】:2016-03-21 13:31:58 【问题描述】:

我正在使用 Visual Studio 2012 中的 Xamarin 开发一个 android 项目。我最近从 HDD 升级到 SSD,因此我重新安装了 Windows 和我的所有程序。

克隆我的 git 存储库并尝试在我的设备上运行应用程序后,我无法让它运行。我能够启动一个新的 hello world 项目并让它运行,但我无法让这个项目运行。

这就是错误所说的:

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

此外,检查 Build->Configuration Manager 以确保此项目设置为针对此配置进行部署。

我已经搜索了此问题的解决方案,但找不到任何可行的方法。

【问题讨论】:

【参考方案1】:

我解决了这个问题。不知何故,该应用程序仍然存在于我的设备上,即使它没有出现在我的应用程序中,我需要将其删除。

解决方案是找到我通过电子邮件发送的旧 APK 并安装它。然后我卸载了该应用程序并从 Visual Studio 再次部署它。这次成功了。

您可以在这里阅读更多内容:https://forums.xamarin.com/discussion/8501/install-failed-update-incompatible

编辑(2017 年 3 月 13 日):

似乎很多人都觉得这个答案很有用,所以我决定如果你无法访问旧版本,我应该用另一种方法来更新它以卸载应用程序。

正如 Atul Chaudhary 和 Nestel 所提到的,您可以打开 adb 命令提示符并运行 adb uninstall <com.your.application.package.name>。如果您的应用程序有任何残留物,这应该摆脱它们。

【讨论】:

这为我修复了它,尽管我可以通过转到设置 -> 应用程序 -> 全部来卸载它,即使应用程序抽屉中没有启动器,它仍然存在。跨度> 设置 > 应用程序管理器 > NameOfYourApplication > 卸载 谢谢!简短:使用 adb 终端方法。在 Visual Studio 中很容易到​​达那里:TOOLS-->Android-->“Android Adb 命令提示符...”【参考方案2】:

    重命名应用程序名称。

    添加了包名。

应用程序。开始在模拟器上工作,再次重命名应用程序,应用程序。继续运行。

注意:重置设备,卸载应用。设置中的相关运行时等对我不起作用。

希望这对某人有所帮助。

【讨论】:

谢谢!我重命名了应用程序然后它工作了。然后我把它重命名回来,它又开始在我的手机上工作了。 这对我也有帮助,包名不知何故丢失了,以前就在那里..【参考方案3】:

从 adb shell 运行这个命令为我解决了这个问题:

adb shell pm uninstall -k com.packagename

从 Visual Studio 工具 -> Android -> Android Adb 命令提示符访问 adb shell。

非常有趣的错误,似乎 Visual Studio 无法完全卸载以前的版本。

【讨论】:

【参考方案4】:

显然,OP 发现了他们的问题,但我仍然想发布与我遇到的问题相关的答案,并带有相同的错误消息。我正在使用 Visual Studio(在 Parallels 中)并尝试在 Xamarin Android Player 实例(在我的 Mac 上运行)上调试应用程序。

我不断收到此错误,并意识到构建输出中显示了一条不同的、更有帮助的错误消息,指出我不支持正确的架构。

进入 Android 项目属性 -> Android 选项 -> 高级 -> 并检查 x86 最终允许我成功部署到 Xamarin Android 播放器。

【讨论】:

【参考方案5】:

亚行方法对我不起作用。 我不想将手机恢复出厂设置,也不想卸载我的应用程序,所以我设法通过更改包来部署。

    右键单击您的 Droid 项目 选择属性 转到应用程序清单 更改包名 重新部署您的项目

希望对你有帮助

【讨论】:

【参考方案6】:

我今天遇到了同样的错误,试图在 Xamarin Android Player 上运行 Xamarin Android-app。要修复它,我需要检查“支持的架构”部分的“x86”框。因此,您可能需要查看此部分。

【讨论】:

这个部分在哪里? 找到它... ProjectName.Native.Droid 属性 > Android 选项 > 高级。已经检查过了。【参考方案7】:

当设备上没有足够的内存时,我遇到了这个问题。在“成功”部署后,即使在“设置”中的应用列表中也缺少该应用。通过 adb 删除给了我失败,表明它没有安装。在 VS2015 的输出日志中,我收到了与 OP 相同的消息。最后,在我清理了大约 50-100 MB 之后,它就起作用了,尽管在应用程序设置中它显示我有 500 MB 可用。我尝试了不同的解决方案(通过 adb 删除、清理、构建然后部署),但只有清理工作。

【讨论】:

查看构建输出,看看存储是否有问题: >部署失败,因为内部错误:设备上没有足够的存储空间来存储包:/data/local /tmp/Mono.Android.Platform.ApiLevel_23.apk。请释放一些空间,然后重试。【参考方案8】:

adb 卸载成功了。奇怪的是,即使您运行命令列出所有已安装的应用程序,它也不会显示,但是如果您使用您的包名称运行卸载命令,该名称应该是您的项目名称或您分配的名称,您将获得成功结果,这意味着它已被卸载,并检查是否使用相同的包名再次运行卸载命令,你将获得失败命令。然后再次部署你的包应该可以工作

【讨论】:

【参考方案9】:

在我的情况下,两个活动是 Launcher 活动,所以我制作了其中一个 Launcher 活动。

您可以删除 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 来自 AndroidManifest.xml 文件或 MainLauncher = true 来自.cs Activity 文件属性

【讨论】:

只有这对我有用。 --> 【参考方案10】:

如果您重新安装了所有内容,您可能需要在 VS 中备份配置管理器。

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

【讨论】:

【参考方案11】:

我已经设法通过从模拟器中擦除用户数据来解决它。

在 AVD Manager 中,当您启动模拟器时,选中“擦除用户数据”,您的模拟设备就会像新设备一样运行。

更新到 Android SDK Tools 25.1.3 后出现问题。

【讨论】:

【参考方案12】:

最初我无法让它工作。尝试删除所有内容(Mono 运行时、应用程序等),但无济于事。

有效的是重命名我的包,这对我来说很好,因为我还没有发布我的 apk。一些幽灵版本显然仍然存储在我的设备上。

【讨论】:

【参考方案13】:

重命名应用程序名称和包名称(转到清单设置)有助于解决此问题

【讨论】:

更改包名并不能摆脱之前安装的应用程序。它只是在您的设备上创建一个全新的应用程序。如果这是一个存在于 Google Play 商店中的应用程序,那么它并不是一个真正可接受的解决方案。【参考方案14】:

唯一能帮助我解决这个问题的方法如下:

在 Xamarin Android Studio 主页(显示所有设备)中,单击“三点”按钮,然后单击恢复出厂设置

安装新设备并在那里部署您的应用。

【讨论】:

我强烈建议不要恢复出厂设置,因为它会删除您手机上的大部分内容。仅当所有其他卸载应用程序的方法都已用尽时,才应作为绝对的最后手段。 @JaredPrice 是的,我同意,在我的情况下,我没有在那个模拟器上保存数据,所以这不是问题。【参考方案15】:

每当我遇到这个问题时,我都会发布应用程序并使用手动安装

adb install "&lt;path to apk file&gt;"

在 Android Adb 命令提示符中。

希望尽快修复,根据 https://github.com/xamarin/xamarin-android/issues/3727

【讨论】:

【参考方案16】:

今天发生在我身上,在从 Git 更新项目并在 Android 模拟器中运行之后。从模拟器中卸载应用程序,在 VS 中执行清理和重建并再次安装应用程序有帮助。

【讨论】:

以上是关于Xamarin - Android - Visual Studio - 应用程序无法启动的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.forms(或)xamarin.ios/xamarin.android(或)本机

Xamarin.Forms 是 Xamarin.Android、Xamarin.IoS 和 Xamarin.Win 的简单总和吗?

xamarin android开发 两个按钮 怎么放在同一排上

抽屉布局在 Xamarin.Android.Support.Core.UI 和 Xamarin.Android.Support.V4 中都存在

无法使用 Xamarin.Android 中的 Xamarin.Mobile 组件保存联系人

将Xamarin.Android应用程序迁移到Xamarin.Forms应用程序