android - Android 13(API 级别 33)的 Bitrise 构建失败

标签 android xamarin.forms cicd bitrise android-13

Bitrise 无法构建面向 Android 13(API 级别 33)的 Android 应用。

我检查了 Bitrise 堆栈,android-33 仅存在于 linux-docker-android-20.04 堆栈中。这不适合我,因为我开发跨平台应用程序并使用依赖于 macOS 的其他堆栈。

是否可以在 bitrise.yaml 中使用任何命令来安装 Android 33 API?我试图找到有关此案例的 Bitrise 指南,但没有找到。

这是 Bitrise 的错误:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Tooling.targets(100,5): error XA5207: Could not find android.jar for API level 33. This means the Android SDK platform for API level 33 is not installed. Either install it in the Android SDK Manager (Tools > Open Android SDK Manager...), or change the Xamarin.Android project to target an API version that is installed. (/usr/local/share/android-sdk/platforms/android-33/android.jar missing.)

最佳答案

android-sdk-update 步骤使用 deprecated sdk-tools来自/tools/ folder需要 Java 8 才能运行。大概您的 Bitrise 机器上的默认 Java 版本是 11。我的解决方案是:

  1. 将 Java 版本设置为 8
  2. 安装 build-tools 33.0.2(通过 android-sdk-update 步骤)
  3. 将 Java 版本设置为 17(或您需要的任何版本)

Bitrise workflow in order to install Android build-tools 33.0.2

这看起来很老套,但由于 android-sdk-update 步骤已经超过 6 年没有更新了,我很高兴它能以某种方式起作用。

关于android - Android 13(API 级别 33)的 Bitrise 构建失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76339265/

相关文章:

java - 如何从Android上的sharedPreferences获取多个值?

java - Android:通过 BLE 发送数据 >20 字节

xamarin.forms - 从 iOS 上的 ListView 组标题中删除背景颜色

xamarin.forms - 源只能从 xaml 设置

github-actions - pull_request_target Github 操作未触发

android - 添加动态数据时出现问题

java - Android Studio中有没有办法通过Ajax发送多种类型的HashMap参数?

c# - 在 Xamarin Forms 中的页面之间共享单个 ViewModel 实例

gitlab - 如何将值传递给来自文件的gitlab管道变量

amazon-web-services - 如何使用 CloudFormation 更新 AWS Glue 作业