A Pear Runtime hello world
using Bare with Expo.
Make sure below packages are installed on your system:
CMake
>= 3.25 - can check viacmake --version
Android Studio
- For Android, installing Android Studio is recommended (you can follow React Native docs)Android NDK
- also make sure Android NDK version25.1.8937393
is installed and set theANDROID_HOME
environment variable (seeConfigure the ANDROID_HOME environment variable
section in the above React Native docs).
-
Clone this repo:
git clone https://github.com/holepunchto/pear-expo-hello-world.git
-
run following command to sync git submodules:
git submodule update --init --recursive
[!NOTE] From now on, you should run
npx bare-dev vendor sync
after updatingbare
git submodule. -
run
npm install
to install all the dependencies, or use other package manager by preference. -
run configure script from the project root (Need to append the
--configure
flag when first run)./bin/hello-pear.js --configure
could also run as
npx hello-pear --configure
, or donpm link
then runhello-pear --configure
.
By default the hello-pear
script will builds bare for every architecture for both iOS and Android, but a more fine grained build could be achieved:
# list all commands
hello-pear --help
# iOS simulator only
hello-pear --ios-sim
# iOS and iOS simulator
hello-pear --ios --ios-sim
# Android only arm archs
hello-pear --android arm64 arm
# Android only arm64
hello-pear --android arm64
# Android only x86 archs
hello-pear --android x64 ia32
Important
After any change in the source code that runs on bare you need to re-run hello-pear
in order to apply the changes.
You can check expo-cli docs but as a cheat sheet:
# build and run on iOS connected devices
npm run ios
# clearing the build cache
npx expo run:ios --no-build-cache
# build and run on Android connected devices
npm run android
# clearing the build cache
npx expo run:android --no-build-cache
# just start the local server
npx expo start --dev-client