我有一个 Xamarin Forms 应用程序,已升级到 Android 14,该应用程序构建得很好,但当我尝试在模拟器中运行它时,它失败了。我在 Mac 上运行 Visual Studio 17.6.3(内部版本 421)。 我在“部署到设备”窗口中收到以下错误消息:
Target _PrepareBuildApk:
Target _BuildApkEmbed:
Building target "_BuildApkEmbed" completely.
Input file "obj/Debug/android/bin/classes.dex" is newer than output file "obj/Debug/android/bin/Crank.apk".
Using "BuildApk" task from assembly "/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Build.Tasks.dll".
Task "BuildApk"
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2103,3): error XABLD7024: Xamarin.Tools.Zip.ZipIOException: The file 'obj/Debug/android/bin/Crank.apk' is not a ZIP archive.
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2103,3): error XABLD7024: at Xamarin.Tools.Zip.ZipArchive.Open (System.String path, System.IO.FileMode mode, System.String defaultExtractionDir, System.Boolean strictConsistencyChecks, Xamarin.Tools.Zip.IPlatformOptions options) [0x0014c] in /Users/runner/work/1/s/LibZipSharp/Xamarin.Tools.Zip/ZipArchive.cs:283
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2103,3): error XABLD7024: at Xamarin.Android.Tasks.ZipArchiveEx..ctor (System.String archive, System.IO.FileMode filemode) [0x0001b] in <2042d6a236404eba9dfd12d3be81a9bd>:0
:
Done executing task "BuildApk" -- FAILED.
我检查了bin文件夹,确实存在一个apk文件。但是,如果我重命名为 .zip,它将无法打开...我确实有新的 XCode 版本 (16)、Mac OS 升级 (Sequoia),以及添加了 API 级别 34 SDK,但我正在尝试运行它位于预先存在的 API 33 模拟器中。
想法?
更新
我已经隔离了这个问题,它来自于 AndroidManifest.xml 的更新,显示“34”:
<uses-sdk android:minSdkVersion="28" android:targetSdkVersion="34" />
如果是 33,我就不会收到错误消息。它需要是 34,否则我无法将其上传到 Play 商店。
我也遇到了同样的问题,请问你解决了吗?谢谢