iyegoroff / react-native-image-filter-kit

Various image filters for iOS & Android
MIT License
320 stars 42 forks source link

Issue with managed work flow on Expo #144

Closed tomhopkins closed 1 year ago

tomhopkins commented 1 year ago

Hi,

I know your prompt suggests that RNIFK only works with bare apps in Expo. In fact the iOS version compiles absolutely fine and the Android version only fails on an error which I've seen separately reported for RN and bare apps:

/home/expo/Android/Sdk/build-tools/33.0.0/llvm-rs-cc: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

Is there any chance that you could help us look into this issue. EAS is using the most recent React Native Library (0.71.8).

Thank you in advance.

Tom

tomhopkins commented 1 year ago

Ok, so for any others who are having this problem, I have a solution. In package.json add the fourth line (starting 'eas-build'):

"scripts": {
    "start": "expo start --dev-client",
    "android": "expo run:android",
    "eas-build-pre-install": "./pre-install",
    "ios": "expo run:ios",
    "web": "expo start --web"

Then create a file called 'pre-install' in the root with the following content


#!/bin/bash

# This is a file called "pre-install" in the root of the project

if [[ "$EAS_BUILD_PLATFORM" == "android" ]]; then
  echo "Run commands for Android builds here"
  sudo apt-get --quiet update --yes

  sudo apt-get --quiet install --yes \
      libncurses5 \

elif [[ "$EAS_BUILD_PLATFORM" == "ios" ]]; then
  echo "Run commands for iOS builds here"
fi

I had to make sure the permissions were correct on this file and then I could compile RNIFK fine in managed workflow.

tomhopkins commented 1 year ago

Sorry, so I think that's it. Would obviously be helpful if this stage wasn't needed.