.NET MAUI应用Release模式无法启动,Debug启动崩溃求助
问题背景
此前因Linker过度优化遇到类似问题,参考MAUI GitHub仓库已知问题及Jonathan Peppers的建议,已执行以下操作但未解决:
- 在csproj中添加配置:
<EmbeddedResource Include="ILLink.Descriptors.xml"> <LogicalName>ILLink.Descriptors.xml</LogicalName> </EmbeddedResource> - 创建
ILLink.Descriptors.xml文件,内容如下:<linker> <assembly fullname="Mono.Android"> <type fullname="Android.Runtime.InputStreamAdapter" preserve="methods" /> <type fullname="Android.Runtime.InputStreamInvoker" preserve="methods" /> </assembly> </linker> - 删除bin、obj文件夹,清理并重建项目
- 设置
<AndroidLinkMode>None</AndroidLinkMode>
当前Debug模式启动时,应用在闪屏界面崩溃,报错:MSB3073: The command ""C:\Program Files (x86)\Android\android-sdk\platform-tools\adb" -s emulator-5554 uninstall -k "com.companyname.medbaseapplication"" exited with code 1.
解决步骤
手动执行ADB命令排查具体错误
打开命令提示符,直接运行报错中的ADB命令:"C:\Program Files (x86)\Android\android-sdk\platform-tools\adb" -s emulator-5554 uninstall -k "com.companyname.medbaseapplication"根据输出定位问题,常见原因包括模拟器未正常运行、应用未安装、ADB权限不足或连接异常。
重置ADB连接
执行命令重启ADB服务:adb kill-server adb start-server再运行
adb devices确认emulator-5554在设备列表中。彻底清理模拟器内的应用残留
打开模拟器的应用设置,找到com.companyname.medbaseapplication手动卸载;或执行:adb shell pm uninstall com.companyname.medbaseapplication(不带
-k参数彻底清除应用数据)检查项目配置有效性
确认<AndroidLinkMode>None</AndroidLinkMode>配置在csproj的Debug相关PropertyGroup中;暂时移除ILLink.Descriptors.xml及csproj中的对应嵌入配置,重新构建测试。排查构建日志中的隐藏错误
查看构建输出的详细日志,确认是否存在编译、资源打包等前置错误,针对性修复。
内容的提问来源于stack exchange,提问作者Tanaka Mawere

