xamarin Android模拟器从Visual Studio启动,未在Windows中调试

shstlldc  于 2023-03-10  发布在  Android
关注(0)|答案(1)|浏览(157)

我正在使用安装了所有更新的Visual Studio 2022(版本17.5.1)在全新的Windows 11 Pro系统上创建Xamarin项目。为此,我需要在Android模拟器中测试和调试我的Android应用程序。我在Visual Studio安装程序中为此选择了所有内容。在研究该问题期间,我还验证了Hyper-V和HypvisorPlatform-特性并安装和启用,以及Android模拟器虚拟机管理程序驱动程序工具/额外是通过Android SDK和工具程序安装的。我还在Android设备管理器中设置了一个设备,使用当前最新的API(Android 13 - API 33),可以启动。
实际发生的情况:我启动VisualStudio,加载我的项目,等待所有内容加载完毕,后台任务也完成(不知道这是否是必需的).在验证我正在使用调试配置文件后,我正在单击“播放”按钮。模拟器正确启动和加载。至少看起来像。Visual Studio还构建了项目并声明Deploy succeeded。Visual Studio中“输出”窗格的输出证实了这一点:

Build succeeded.
Deployment was successful to pixel_5_-_api_33.
========== Deploy: 1 succeeded, 0 failed, 0 skipped ==========

就是这样。什么都没有发生。Visual Studio停止调试,应用程序没有部署到模拟设备。它没有出现在应用程序列表中。当我通过cmd检查adb devices时,模拟器已连接。清理项目并删除bin和obj文件夹也没有帮助。
编辑:另外两个信息:1.使用默认模板启动新项目有效2.“Xamarin Diagnostics”的输出只有这三行

[I:]:                     Tracking android devices started
[I:]:                     Got new device list from adb with 1 devices
[I:]:                     Looking for Android SDK...
idfiyjo8

idfiyjo81#

在这个问题花费了我很多时间之后,下面是为我解决这个问题的方法:
1.从存储库中 checkout 最新的工作版本。
1.将目标版本更改为Android 13 - API 33。应用程序构建并启动,但由于过时的第3方库而崩溃-但这没关系,因为它实际上启动了!
1.逐步更新第三方库。当更新Xamarin.Google.Android.Material到1.8.0版本(1.2.1.1之前)时,会出现以下编译错误:

error: MainActivity is not abstract and does not override abstract method onNavigationItemSelected(MenuItem) in OnItemSelectedListener

所以我把类MainActivity抽象化了。这个方法已经存在了。瞧- app不再像以前那样启动了。
我检查了新应用程序的外观。它看起来像我的项目。没有抽象或覆盖的东西。它也使用了该库,但在版本1.0.0.1。所以我尝试了所有的次要版本之前。所有更新的版本高达1.8有相同的错误。当我更新新项目到最新版本,它实际上工作...比较多一点,我发现,新项目正在使用的

using Google.Android.Material.BottomNavigation;

而我的那个正在使用Android.Support.Desgin.Widget。所以我替换了我的那个,然后:问题解决了!

相关问题