Xamarin Forms应用上架Google Play报错:指定SDK版本仍无法上传
我太懂这种卡三天的烦躁了!别慌,咱们从最容易踩坑的地方开始排查:
先改项目属性里的目标框架(核心步骤)
很多人只改了AndroidManifest.xml,但Xamarin的项目设置会优先覆盖XML里的配置。右键你的Android项目 → 选择「属性」→ 切换到「应用程序」标签页,在「目标框架」下拉菜单里选Android 8.0 (API Level 26) 或更高版本(建议直接选最新的稳定版,比如Android 13/API 33,避免后续再升级)。确认AndroidManifest.xml的同步设置
打开Properties/AndroidManifest.xml,检查是否包含完整的uses-sdk节点:<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="26" />要是之前只写了minSdkVersion,补上targetSdkVersion就行。不过只要你改了项目属性的目标框架,这个节点应该会自动同步。
清理重建,干掉缓存坑
旧缓存经常会让设置不生效,按这个流程来:- 右键解决方案 → 「清理解决方案」
- 手动删除Android项目下的
bin和obj文件夹(比IDE清理更彻底) - 重新生成解决方案,再打包APK/AAB
检查csproj里的硬编码配置
打开Android项目的.csproj文件,搜索<AndroidTargetSdkVersion>和<AndroidMinSdkVersion>,确保它们的数值正确:<PropertyGroup> ... <AndroidMinSdkVersion>19</AndroidMinSdkVersion> <AndroidTargetSdkVersion>26</AndroidTargetSdkVersion> ... </PropertyGroup>如果没有这些节点,手动加上就行,IDE的设置其实是存在这里的。
验证打包后的APK信息
打包完成后,用Android Studio的APK Analyzer打开你的APK,查看里面的AndroidManifest.xml,确认targetSdkVersion确实是26或更高。这一步能帮你确认设置真的生效了,不是打包时出了问题。
另外提一句,Google Play现在的要求是目标API级别至少到33(2024年标准),所以直接设到33会更省心,省得下次更新又要折腾。
内容的提问来源于stack exchange,提问作者Alexpandian Muniyandi

