Error on EAS Android build from SDK 45 to SDK 46 shopify_react-native-skia

Hi everyone

since i upgrade to SDK 46, Android build failed

System:
      OS: macOS 12.5
      Shell: 5.8.1 - /bin/zsh
    Binaries:
      Node: 16.16.0 - ~/.nvm/versions/node/v16.16.0/bin/node
      Yarn: 1.22.4 - ~/.yarn/bin/yarn
      npm: 8.11.0 - ~/.nvm/versions/node/v16.16.0/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    Managers:
      CocoaPods: 1.11.3 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
    IDEs:
      Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
    npmPackages:
      expo: ^46.0.0 => 46.0.2
      react: 18.0.0 => 18.0.0
      react-dom: 18.0.0 => 18.0.0
      react-native: 0.69.3 => 0.69.3
      react-native-web: ~0.18.7 => 0.18.7
    npmGlobalPackages:
      eas-cli: 0.57.0
      expo-cli: 6.0.1
    Expo Workflow: bare

eas build --message sdk46 --profile development --platform android

eas.json
{
  "build": {
    "base": {
      "node": "16.16.0"
    },
    "development": {
      "extends": "base",
      "developmentClient": true,
      "android": {
        "distribution": "internal",
        "withoutCredentials": true
      },
      "ios": {
        "simulator": true
      }
    },

its looks there is a known issue for android as i read on react native skia page :

TroubleShooting

For error CMake ‘X.X.X’ was not found in SDK, PATH, or by cmake.dir property.

open Tools > SDK Manager, switch to the SDK Tools tab. Find CMake and click Show Package Details and download compatiable version ‘X.X.X’, and apply to install.

but i don’t know how to fix this using EAS

thanks

You can add sdkmanager "cmake;3.10.2.4988404" in pre install hook. You will need to check platform to run that only on linux

3 Likes

thanks @wkozyra i will try this !

here’s an example repo for you which follows @wkozyra’s advice GitHub - brentvatne/try-skia

2 Likes

Oh great, it works !

thanks a lot @wkozyra @brents

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.