Generate ejected expo app through eas build - react-native

I created an expo app then i needed to add a printing package and i could not find any that was supported by expo(if there is any please just comment below) so i ejected my app and i added the react-native-thermal-printer package and i want to generate my app apk through eas build.Is there any special configurations i have to set for the non expo supported package or do i generete the apk as normal...I have already set up my eas.json.Also do i include the generated android folder while uploading to eas ?
Any help will be appreciated

I had exactly the same question. I wanted to use the EAS build with a non Expo friendly package. According to the documentation, the eas.json should look a little different on bare project, but it does not offer any example. According to the same documentation, there are no additional steps needed for bare projects, it should work with the same configuration as in managed projects.
You can find the official Expo documentation with this not here: Build configuration process: 2 Create eas.json
PS: I did not find time to test it yet, but it is definitely a starting point. I hope it helps!

Related

Does Expo EAS Update require fetchUpdateAsync?

So I'm trying to implement Expo Updates for my managed, standalone build Expo App running SDK 46 following the instructions here: https://docs.expo.dev/eas-update/getting-started/
I'm not having much luck though.
The docs for setup state nothing more than:
npx expo install expo-updates
eas update:configure
eas build:configure
which just alter eas.json and app.json. Is that really all I should need? The docs for the package here: https://docs.expo.dev/versions/latest/sdk/updates/ talk about API methods like Updates.fetchUpdateAsync() but there's no example code. Do I need to implement that in my app somewhere?
Any advice much appreciated!

Impossible to update expo project inside Expo Go after switching to EAS Build

I have the need to run a project from Expo Go without being connected to PC. We are developing an app that require GPS and needs to be tested in open field.
Before EAS became the standard to create projects i used
expo build:android
ad this created not only the apk, but uploaded the project to my account and i was able to start it from Expo Go projects section just like the app was installed on phisical device. That worked also fo iOS and was a great testing feature.
After i moved to EAS Build
eas build -p android --profile preview --clear-cache
my project inside Expo Go does not update anymore and its stucked at sdk 44 even if now i'm working (and creating builds) with sdk 46.
I went through the official documentation many times but i don't get how to make the app start from Expo Go (project sction) as i did before. Maybe i'm missing some configuration.
Thank you all for any kind reply.
Have a good day.
EDIT
I found the solution to this problem and now my builds are working and uploading to Expo Go.
Check out this information: https://github.com/expo/fyi/blob/main/eas-build-archive.md
Basically EAS Updates will not bundle anything inside your .gitignore, in my case it needed specific config files. Did a quick test by taking them off the .gitignore and now it's working. Will move to GitHub SECRETS in the future.
Hope that helps.

Converting project to react native init

Firstly I created my project with create-react-native-app and I'm developing my app with npm start and I have expo installed on my emulator. How can I convert these project into react native init, I don't want to use expo anymore...I don't neeed any api-es from them...
Thank you
The best resource for this is in the create-react-native-app repository. Try having a look here to get started.
The short answer is to use npm run eject
If you have experience generating signed APKs for Android and code signing with iOS then you shouldn't run into too much trouble.
If you don't, then take the time to go through the Android docs and also this guide should help you get up on running on iOS as well.
Good luck!
Instead of creating your project using the command create-react-native-app, you may create a react native project by following "Building Projects with Native Code" of the getting start guide: https://facebook.github.io/react-native/docs/getting-started.html.
Here you will find out how to:
1. Set up the environment.
2. Installation of phone emulator.
3. Connection of your phone via USB for testing.
4. Create a project using the react-native init command.

using fabric beta testing with react-native expo project

Is there a way I can use Fabric beta testing with react-native expo project ?
I searched all over the internet but didn't find an example of this.
Edit 1: The project has been already created using CRNA command.
PS: I know I can detach from expo then build each project with fabric separately, but detaching process is tedious.
You need to detach your app, once detached you can follow the crashlytics iOS guide with Objective-C, with a difference in the API key step, use the Info.list file inside the Supporting group, just make sure to delete the old Fabric keys already added inside that file.
After that you can use the beta like a normal iOS app, hope this helps you

Add expo to my react-native app already exists

I am working on a project already exists native base and I want to add expo to easily test my application.
The easiest way to do this is to make a new Expo project and copy over all the JavaScript from your existing project.
There isn't a way to react-native link expo or anything like that right now. There might be in the future but even then that wouldn't enable the easy sharing that you want. To get that you need to just use the binary code included with Expo (which can do most things you want to do).
Here is more info: https://docs.expo.io/versions/latest/introduction/faq.html#how-do-i-get-my-existing-react-native-project-running-with-expo
Expo can now be added to an existing project, run the following command for automatic installation:
npx install-expo-modules#latest
If the command fails, you can refer to the docs for manual installation instructions.