Разработка на React Native в Linux Mint

Установка Android Studio

установка React

sudo npm i -g react --force

Установка React Native

sudo npm i -g react-native --force

Установка Reacti Native CLI

sudo npm i -g react-native-cli --force

создание проекта

react-native init MyProject

или

npx create-react-native-app my-app

перейти в проект

cd MyProject

для указания SDK в Android Studio Tools -> SDK Manager

В окне Appearance & Behavior -> System Settings -> Android SDK

скопировать Android SDK Location

создать файл android/local.properties и вставить скопированное

sdk.dir=/home/denis/Android/Sdk/

 

для того чтобы забилдить приложение для Android

создать папку android/app/src/main/assets

забилдить

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

 

чтобы запустить приложение на андройде выполнить инструкцию по подключению телефона

выполнить команду

npx react-native run-android

 

для просмотра в консоли информации о работе приложения выполнить инструкцию по подключению телефона

выполнить команду

npm start

 

команда для IOS (не проверял, теория)

npx react-native run-ios

 

EXPO

Зарегистрироватся на сайте https://expo.dev/

Установка EXPO

sudo npm install --global expo-cli eas-cli

Создание нового проета

npx create-expo-app my-app

Запустить EXPO для просмотра на устройстве

npx expo start

Настройка app.json
Настроить наименование пакета:
к примеру expo.android.package на подобии com.example.app

Авторизоватся EXPO

expo login

Проверить каким аккаунтом авторизован

expo whoami

Протестировать проект

expo doctor

Успешный результат

Build APK

eas build -p android --profile preview

Build AAB для публикации в Play Store

eas build -p android

 

Для явного указания IP при вызове npx expo start нужно присвоить IP переменной REACT_NATIVE_PACKAGER_HOSTNAME

export REACT_NATIVE_PACKAGER_HOSTNAME=xxx.xxx.xxx.xxx

Открыть порт 19000

firewall-cmd --zone=public --add-port=19000/tcp --permanent
firewall-cmd --reload