[Xamarin.Forms]安装失败:[INSTALL_FAILED_INVALID_APK]Base.apk文件丢失

4

不确定这是否是正确的地方,但我不知道正在发生什么。

我已经安装了Visual Studio,并选择了Xamarin.Form开发选项。然后我创建了一个名为AwesomeApp的空白应用程序。当我创建任何android模拟器时,都会出现以下错误:

ADB0010:部署失败Mono.AndroidTools.InstallFailedException: 失败[INSTALL_FAILED_INVALID_APK:无法在 /data/app/com.companyname.awesomeapp-n7s-TVkN9lE8v1nea3tFZg==中安装包:Package /data/app/com.companyname.awesomeapp-n7s-TVkN9lE8v1nea3tFZg==/base.apk 代码丢失]

有人遇到过这个问题或者找到了解决方法吗?只遵循建议,例如清理项目、解决方案和重新构建不起作用。这种情况发生在任何项目上,无论名称或命名约定如何(即AwesomeApp或awesomeapp)


尝试在您的设备上删除该应用程序,然后重新部署。 - Leo Zhu
@LeoZhu-MSFT 应用程序在设备上没有显示。我尝试创建多个不同配置的模拟器,但仍然无法解决 :/ - I.T Delinquent
重启adb服务有效吗? - Leo Zhu
@LeoZhu-MSFT 重新启动和创建全新的虚拟手机没有帮助。重启电脑也没有帮助。重新安装VS和模拟器也没有帮助。顺便说一下,Flutter应用程序在虚拟设备上构建和运行没有问题。我真的很无助! :-( - I.T Delinquent
2个回答

5

对我来说,问题已经得到解决。方法是将Dex编译器从dx更改为d8,并禁用共享Mono Runtime和Multi Dex。

更新:稍晚了一点,但是发现禁用共享Mono Runtime是可选的。也发现即使启用它,问题也能得到解决。


2
你有进行这些更改的资源吗?我不知道这些设置在哪里 :-) - I.T Delinquent
右键单击您的Droid项目->选项->构建->Android构建。确保您正在编辑正确的配置和平台。 - Oleg Kaliuzhnyi
怎么改?!! - Mojtaba Darzi
@MoshtabaDarzi,你看到我上面的评论了吗? - Oleg Kaliuzhnyi
如何将dx更改为d8并禁用共享Mono运行时和Multi Dex?我是React Native的新手,谢谢。 - Mojtaba Darzi
@MoshtabaDarzi 抱歉,我对React Native一无所知。我为Xamarin.Android/Xamarin.Forms发布了一个答案。 - Oleg Kaliuzhnyi

0

尝试将项目设置回当前推荐的默认值。从.csproj文件中删除以下所有属性:

  • AndroidEnableMultiDex
  • AndroidDexGenerator
  • AndroidLinkTool
  • AndroidDexTool

这样Xamarin.Android就可以选择当前最新的默认值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接