[英]Deployment error with Xamarin android application in Visual studio 2015
[英]Xamarin - Android - Visual Studio - The application could not be started
我在 Visual Studio 2012 中使用 Xamarin 处理 Android 项目。我最近从 HDD 升级到 SSD,因此我重新安装了 Windows 和我的所有程序。
克隆我的 git 存储库并尝试在我的设备上运行该应用程序后,我无法让它运行。 我能够开始一个新的 hello world 项目并且我可以运行它,但是我无法运行这个项目。
这是错误所说的:
应用程序无法启动。 确保应用程序已安装到目标设备并具有可启动的活动 (MainLauncher = true)。
此外,检查 Build->Configuration Manager 以确保将此项目设置为 Deploy 以进行此配置。
我一直在寻找解决此问题的方法,但找不到任何有效的方法。
我解决了这个问题。 不知何故,该应用程序仍然存在于我的设备上,即使它没有出现在我的应用程序中,我需要将其删除。
解决方案是找到我通过电子邮件发送的旧 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>
。 如果您的应用程序仍有任何残余,则应将其清除。
从 adb shell 运行此命令为我解决了这个问题:
adb shell pm uninstall -k com.packagename
从 Visual Studio 工具 -> Android -> Android Adb 命令提示符访问 adb shell。
非常有趣的错误,似乎 Visual Studio 无法完全卸载以前的版本。
显然 OP 找出了他们问题的问题,但我仍然想发布与我遇到的问题相关的答案,并显示相同的错误消息。 我正在使用 Visual Studio(在 Parallels 内)并尝试在 Xamarin Android Player 实例(在我的 Mac 上运行)上调试应用程序。
我不断收到此错误,并意识到构建输出中显示了一条不同的、更有帮助的错误消息,指出我不支持正确的架构。
进入 Android 项目属性 -> Android 选项 -> 高级 -> 并检查x86
最终允许我成功部署到 Xamarin Android Player。
我今天遇到了同样的错误,试图在 Xamarin Android Player 上运行 Xamarin Android-app。 要修复它,我需要选中“支持的架构”部分中的“x86”框。 所以你可能想检查这个部分。
当设备上没有足够的内存时,我遇到了这个问题。 “成功”部署后,即使在“设置”中的应用程序列表中也缺少该应用程序。 通过 adb 删除给了我失败,表明它没有安装。 在 VS2015 的输出日志中,我收到了与 OP 相同的消息。 最后它在我清理了大约 50-100 MB 后工作了,即使在应用程序设置中它显示我有 500 MB 可用空间。 我尝试了不同的解决方案(通过 adb 删除、清理、构建然后部署)但只有清理工作。
adb uninstall 做到了。 奇怪的是,即使您运行命令列出所有已安装的应用程序,它也不会显示,但是如果您使用您的包名称运行卸载命令,您的包名称应该是您的项目名称或您分配的名称,您将获得成功结果这意味着它已被卸载并检查是否使用相同的包名称再次运行卸载命令,您将获得失败命令。 然后再次部署你的包应该可以工作
就我而言,问题是两个活动是 Launcher 活动,所以我做了其中一个 Launcher 活动。
您可以从 AndroidManifest 中删除<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
.xml 文件或MainLauncher = true
来自 .cs 活动文件属性
如果您重新安装了所有内容,则可能需要在 VS 中备份配置管理器。
在 Visual Studio 中:构建 -> 配置管理器 -> 勾选“部署”框。
我设法通过从模拟器中擦除用户数据来解决它。
在 AVD 管理器中,当您启动模拟器时,选中“擦除用户数据”,您的模拟设备将像新设备一样运行。
问题本身在更新到 Android SDK Tools 25.1.3 后出现。
最初,我无法使其正常工作。 尝试删除所有内容(Mono 运行时、应用程序等),但无济于事。
什么工作是重命名我的包,这对我来说很好,因为我还没有发布我的 apk。 一些幽灵版本显然仍然存储在我的设备上。
重命名应用程序名称和包名称(转到清单设置)有助于解决此问题
帮助我解决此问题的唯一替代方法如下:
或者
每当我遇到这个问题时,我都会发布应用程序并使用手动安装
adb install "<path to apk file>"
在 Android Adb 命令提示符中。
希望尽快修复,根据https://github.com/xamarin/xamarin-android/issues/3727
今天发生在我身上,从 Git 更新一个项目并在 Android Emulator 中运行后。 从模拟器卸载应用程序,在 VS 中执行清理和重建并再次安装应用程序有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.