升级Android SDK至API33后Jenkins构建报错:无法识别v13.0的API级别
解决Xamarin.Android API33升级后Jenkins构建报错XA0000的思路
检查Jenkins服务器的Xamarin.Android版本
Xamarin.Android 13.0及以上版本才支持v13.0(对应API33)的TargetFrameworkVersion。Jenkins服务器上的Xamarin.Android版本如果过低,会无法识别该版本:- 登录Jenkins服务器,执行
msbuild /version查看关联的Xamarin.Android版本;或查看路径/Library/Frameworks/Mono.framework/Versions/Current/lib/mono/xamarin.android/Xamarin.Android.dll的版本信息 - 若版本低于13.0,升级Xamarin.Android到支持API33的对应版本
- 登录Jenkins服务器,执行
确认Jenkins服务器已安装Android API33 SDK
本地环境已配置API33 SDK,但Jenkins服务器可能缺失:- 执行命令
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --list,检查是否存在platforms;android-33 - 若未安装,运行
sdkmanager "platforms;android-33"完成安装
- 执行命令
完善.csproj文件的配置项
仅修改TargetFrameworkVersion可能不完整,需确保所有相关SDK版本配置一致:
打开项目的.csproj文件,确认以下节点配置:<TargetFrameworkVersion>v13.0</TargetFrameworkVersion> <AndroidTargetSdkVersion>33</AndroidTargetSdkVersion> <AndroidCompileSdkVersion>33</AndroidCompileSdkVersion>若项目使用AndroidX,需确保
<UseAndroidX>True</UseAndroidX>配置存在,同时清理文件中残留的API31相关硬编码配置清理Jenkins构建缓存
旧缓存可能导致版本识别异常:- 在Jenkins构建任务中,开启"Delete workspace before build starts"选项,清理工作区
- 或手动删除工作区中项目的
bin和obj目录
切换Jenkins的构建工具版本
错误来自Xamarin.Android.Legacy.targets,可能是使用了旧版xbuild而非msbuild:- 在Jenkins构建配置中,将构建命令改为
msbuild(Xamarin后续版本推荐使用msbuild) - 若必须使用
xbuild,确保对应的Mono版本支持Xamarin.Android 13.0
- 在Jenkins构建配置中,将构建命令改为
内容的提问来源于stack exchange,提问作者Tiko00
相关产品推荐
相关产品推荐

