Introduction
Hey everyone! Here is a quick article on how to generate an apk for your react native expo app.
Install expo CLI
I assume, if you are reading a blog on exporting the app , you have already installed the expo CLI 👀.
To check if you have expo CLI install run
expo -V
In the command line, If you get a version number that indicates you have expo install.
In case you don't. You can install it using npm.
We also need the eas build tools
npm install --global expo-cli eas-cli
Create expo account and login
First requirement for generating the apk file is creating an expo account.
Create an account here
After logging in, you will be redirected to your expo dashboard.
Login to expo CLI
- Open cmd
- Login to expo account using the command :
expo login
To check which user you are logged in with, use the command
expo whoami
Edit Config
By default the eas build tool will give you a playstore build file.
If you want a .apk file you need to create a eas.json
file and add a buildType
as apk
.
{
"build": {
"preview": {
"android": {
"buildType": "apk"
}
},
"preview2": {
"android": {
"gradleCommand": ":app:assembleRelease"
}
},
"preview3": {
"developmentClient": true
},
"production": {}
}
}
You can check out more about the eas build tool here.
Build
Open cmd in your app directory.
Run the build command
eas build -p android --profile preview
Wait for the build to complete...
Download apk
After the build is complete you can go to the builds section in your dashboard and download the apk.
Hope you found this useful. See you in the next one!
Top comments (36)
Thanks man! Easy and simple.
Loved it! thank you.
Hey, Great post thanks for sharing!.
Generating an APK using "React Native Expo" is simple, and it's a great way to create apps like Sportzfy APK. Here’s how you can do it:
Using React Native Expo makes app development easy and efficient. It’s one of the reasons Sportzfy Cricket APK delivers such a smooth and user-friendly experience for cricket lovers worldwide. If you’re creating a sports app or any APK, this is a great tool to use.
i am facing this issues or errors during follow these steps for generate apk using expo
can anyone help me for solve these problems during generate apk using expo in react native project
Running 'gradlew :app:assembleRelease' in /home/expo/workingdir/build/android
Downloading services.gradle.org/distributions/...
10%
20%.
30%.
40%.
50%.
60%.
70%.
80%.
90%.
100%
Welcome to Gradle 7.5.1!
Here are the highlights of this release:
Support for Java 18
Support for building with Groovy 4
Much more responsive continuous builds
Improved diagnostics for dependency resolution
For more details see docs.gradle.org/7.5.1/release-note...
To honour the JVM settings for this build a single-use Daemon process will be forked. See docs.gradle.org/7.5.1/userguide/gr....
Daemon will be stopped at the end of the build
[stderr]
FAILURE: Build failed with an exception.
[stderr]
[stderr]
Script '/home/expo/workingdir/build/node_modules/@react-native-community/cli-platform-android/native_modules.gradle' line: 250
[stderr]
[stderr]
A problem occurred evaluating script.
[stderr]
[stderr]
Calling
[node, /home/expo/workingdir/build/node_modules/@react-native-community/cli/build/bin.js, config]
finished with an exception. Error message: groovy.json.JsonException: Unable to determine the current character, it is not a string, number, array, or object[stderr]
[stderr]
The current character read is 'E' with an int value of 69
[stderr]
Unable to determine the current character, it is not a string, number, array, or object
[stderr]
line number 1
[stderr]
index number 0
[stderr]
Error: Package name not found in /home/expo/workingdir/build/android/app/src/main/AndroidManifest.xml at Object.projectConfig (/home/expo/workingdir/build/node_modules/@react-native-community/cli-platform-android/build/config/index.js:74:11) at Object.get project as project at filterConfig (/home/expo/workingdir/build/node_modules/@react-native-community/cli/build/commands/config/config.js:13:20) at Object.func (/home/expo/workingdir/build/node_modules/@react-native-community/cli/build/commands/config/config.js:27:32) at Command.handleAction (/home/expo/workingdir/build/node_modules/@react-native-community/cli/build/index.js:192:23) at Command.listener (/home/expo/workingdir/build/node_modules/@react-native-community/cli/node_modules/commander/index.js:315:8) at Command.emit (node:events:513:28) at Command.parseArgs (/home/expo/workingdir/build/node_modules/@react-native-community/cli/node_modules/commander/index.js:651:12) at Command.parse (/home/expo/workingdir/build/node_modules/@react-native-community/cli/node_modules/commander/index.js:474:21) at setupAndRun (/home/expo/workingdir/build/node_modules/@react-native-community/cli/build/index.js:271:24)info Run CLI with --verbose flag for more details.
[stderr]
^. Output: Error: Package name not found in /home/expo/workingdir/build/android/app/src/main/AndroidManifest.xml at Object.projectConfig (/home/expo/workingdir/build/node_modules/@react-native-community/cli-platform-android/build/config/index.js:74:11) at Object.get project as project at filterConfig (/home/expo/workingdir/build/node_modules/@react-native-community/cli/build/commands/config/config.js:13:20) at Object.func (/home/expo/workingdir/build/node_modules/@react-native-community/cli/build/commands/config/config.js:27:32) at Command.handleAction (/home/expo/workingdir/build/node_modules/@react-native-community/cli/build/index.js:192:23) at Command.listener (/home/expo/workingdir/build/node_modules/@react-native-community/cli/node_modules/commander/index.js:315:8) at Command.emit (node:events:513:28) at Command.parseArgs (/home/expo/workingdir/build/node_modules/@react-native-community/cli/node_modules/commander/index.js:651:12) at Command.parse (/home/expo/workingdir/build/node_modules/@react-native-community/cli/node_modules/commander/index.js:474:21) at setupAndRun (/home/expo/workingdir/build/node_modules/@react-native-community/cli/build/index.js:271:24)info Run CLI with --verbose flag for more details.
[stderr]
[stderr]
[stderr]
[stderr]
[stderr]
[stderr]
BUILD FAILED in 18s
Error: Gradle build failed with unknown error. See logs for the "Run gradlew" phase for more information.
please provide me solutions of these errors
I am Calling an Inside my expo App which is being successfully implemented, But same is not being called in APK. Can you help me with that?
It's not working on EXPO version 45.0.0. you have to give another method to create apk using expo.
Updated the blog for the new method
Using EXPO 45 butt know 47verion how to create APK.
I believe this methods works with version 47
To generate an APK using React Native Expo, follow these simple steps. It's a straightforward process that I also used to create my Wegocup site, which offers free APK downloads.
Steps to Generate APK Using Expo:
Configure
app.json
Update the
app.json
file with your app details, including the app name, version, and Android-specific configurations.Build Your App
Run the following command to build the APK:
bash
eas build -p android
This requires the Expo Application Services (EAS). If it's your first time, follow the prompts to configure your project.
Login and Publish
Log in to your Expo account and publish the build. Expo will generate a URL for downloading your APK.
Download the APK
Once the build is complete, download your APK from the provided link.
Why I Chose React Native Expo for Wegocup:
Expo simplifies the app development process by providing tools and libraries that eliminate the need for extensive native configurations. For my Wegocup site, it allowed me to quickly create an app that supports a seamless APK download experience while keeping the app lightweight and efficient.
With Expo, generating an APK is quick, efficient, and beginner-friendly perfect for projects like Wegocup or any other app idea you have in mind!
Hi There.
After I runned this command: "expo build:android" in the VS Code,
I see this error:
"Uploading JavaScript bundles
read ECONNRESET
Error: read ECONNRESET
at TLSWrap.onStreamRead (internal/stream_base_commons.js:209:20)
"
Please give me a solution.
Hey,
Expo sdk recently had an update. A new cli has been put in place to build apks. you can take a look at this : expo.dev/eas
After build apk it will not run on Android when i install on Android device and open it will show keeps stopping. Please help me what is the issue and how can i solve this issue anyone can help please... I am frustrating about 2 day's and not able to find the solution..

Very well explained! 🙌
Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more