# Expo
> Expo is an open-source React Native framework for apps that run natively on Android, iOS, and the web. Expo brings together the best of mobile and the web and enables many important features for build
## Pages
- [Expo Documentation](expo-documentation.md): Expo is an open-source React Native framework for apps that run natively on Android, iOS, and the web. Expo brings to...
- [Get started](get-started.md): Get started creating apps with Expo.
- [Android Emulator Setup](android-emulator-setup.md): Step 1:
- [Android Studio Environment Setup](android-studio-environment-setup.md): Use a package manager such as [Homebrew](https://brew.sh/) to install the following dependency.
- [Android Studio Setup](android-studio-setup.md): For macOS:
- [Xcode Setup](xcode-setup.md): Step 1:
- [Create a development build for a physical Android device with EAS](create-a-development-build-for-a-physical-android-device-with-eas.md): Step 1:
- [Create a development build for a physical Android device locally](create-a-development-build-for-a-physical-android-device-locally.md): Step 1:
- [Run on a physical Android device with Expo Go](run-on-a-physical-android-device-with-expo-go.md): Scan the QR code to download the app from the Google Play Store, or visit the Expo Go page on the [Google Play Store]...
- [Create a development build for Android Emulator with EAS](create-a-development-build-for-android-emulator-with-eas.md): Step 1:
- [Create a development build for Android Emulator locally](create-a-development-build-for-android-emulator-locally.md): Step 1:
- [Run on Android Emulator with Expo Go](run-on-android-emulator-with-expo-go.md): When you start a development server with`npx expo start`on the [start developing](/get-started/start-developing) pa...
- [Create a development build for a physical iOS device with EAS](create-a-development-build-for-a-physical-ios-device-with-eas.md): Step 1:
- [Create a development build for a physical iOS device locally](create-a-development-build-for-a-physical-ios-device-locally.md): Step 1:
- [Run on a physical iOS device with Expo Go](run-on-a-physical-ios-device-with-expo-go.md): Scan the QR code to download the app from the App Store, or visit the Expo Go page on the [App Store](https://itunes....
- [Create a development build for iOS Simulator with EAS](create-a-development-build-for-ios-simulator-with-eas.md): Step 1:
- [Create a development build for iOS Simulator locally](create-a-development-build-for-ios-simulator-locally.md): Step 1:
- [Run on iOS Simulator with Expo Go](run-on-ios-simulator-with-expo-go.md): When you start a development server with`npx expo start`on the [start developing](/get-started/start-developing) pa...
- [Develop](develop.md): An overview of Expo tools and websites that will help you during various aspects of your project-building journey.
- [User interface](user-interface.md): Learn how to add a splash screen and app icon to your Expo project.
- [Development builds](development-builds.md): Why use development builds and how to get started.
- [Example](example.md)
- [Config plugins](config-plugins.md): An introduction to Expo config plugins.
- [@info Safely modified using the withGradleProperties() mod. #](info-safely-modified-using-the-codewithgradlepropertiescode-mod.md): expo.react.jsEngine=hermes
- [@end #](end.md): Then later in a Gradle file:
- [@info Import a JSON file and parse it in Ruby #](info-import-a-json-file-and-parse-it-in-ruby.md): podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {}
- [@end #](end-2.md): platform :ios, podfile_properties['ios.deploymentTarget'] || '15.1'
- [Debugging](debugging.md): Learn about Redbox errors and stack traces in your Expo project.
- [Review](review.md): Learn about how to distribute your app for review using app stores, internal distribution, and EAS Update.
- [Deploy](deploy.md): Learn how to create a production build for your app that is ready to be submitted to app stores from the command line...
- [Monitor](monitor.md): Learn how to monitor the usage of your Expo and React Native app after its release.
- [More](more.md): An overview of Expo tools, features and services.
- [Expo tutorial](expo-tutorial.md): An introduction to a React Native tutorial on how to build a universal app that runs on Android, iOS and the web usin...
- [EAS tutorial](eas-tutorial.md): An introduction to the tutorial for building apps for Android and iOS using Expo Application Services (EAS) that cove...
- [More](more-2.md): This section contains information about the development with Expo and Expo Application Services (EAS):
- [Development process](development-process.md): An overview of the development process of building an Expo app to help build a mental model of the core development l...
- [Linking](linking.md): An overview of available resources to implement Linking and Deep Links in your Expo apps.
- [Write native code](write-native-code.md): Learn how to add custom native code to your Expo project.
- [Build locally](build-locally.md): An overview of how to build your app locally using your own machine for Expo projects.
- [If you've downloaded the credentials from `eas credentials` command, see comments below for each value.](if-youve-downloaded-the-credentials-from-eas-credentials-command-see-comments-be.md): MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore # Path to the "keystore" file
- [Web](web.md): Learn how to develop your app for the web so you can build a universal app.
- [Bundling](bundling.md): Learn about different Metro bundler configurations that can be customized.
- [Reference](reference.md): Learn about setting up Expo projects in a monorepo with workspaces.
- [Existing React Native apps](existing-react-native-apps.md): Learn how to use Expo tools and services with existing React Native apps.
- [The project root by default is one level up from the ios directory](the-project-root-by-default-is-one-level-up-from-the-ios-directory.md): export PROJECT_ROOT="$PROJECT_DIR"/..
- [Existing native apps](existing-native-apps.md): An overview of how you can integrate Expo tools into existing native apps ("brownfield" apps).
- [The project root by default is one level up from the ios directory](the-project-root-by-default-is-one-level-up-from-the-ios-directory-2.md): export PROJECT_ROOT="$PROJECT_DIR"/..
- [SKIP_BUNDLING to be unset if needed](skip-bundling-to-be-unset-if-needed.md): if [[-f "$PODS_ROOT/../.xcode.env.updates"]]; then
- [if needed](if-needed.md): if [[-f "$PODS_ROOT/../.xcode.env.local"]]; then
- [Expo Router](expo-router.md): Expo Router is an open-source routing library for Universal React Native applications built with Expo.
- [Router 101](router-101.md): Learn the ground rules of Expo Router and how it relates to the rest of your code.
- [Navigation patterns](navigation-patterns.md): Learn how to use the Stack navigator in Expo Router.
- [Advanced](advanced.md): Learn how to switch modules based on the platform in Expo Router using platform-specific extensions and Platform modu...
- [Web](web-2.md): Learn how to create server endpoints with Expo Router.
- [Reference](reference-2.md): Learn how to handle unmatched routes and errors in your app when using Expo Router.
- [Migration](migration.md): Learn how to migrate a project using React Navigation to Expo Router.
- [Expo Modules API](expo-modules-api.md): An overview of the APIs and utilities provided by Expo to develop native modules.
- [Tutorials](tutorials.md): A tutorial on creating a native module that persists settings with Expo Modules API.
- [...](untitled.md): Pod::Spec.new do |s|
- [Reference](reference-3.md): An API reference of Expo modules API.
- [Push notifications](push-notifications.md): An overview of Expo push notification service.
- [Check with a public DNS server](check-with-a-public-dns-server.md): dig @8.8.8.8 exp.host
- [Use traceroute to identify routing issues](use-traceroute-to-identify-routing-issues.md): traceroute exp.host
- [You should receive HTTP response headers with a 200 status code.](you-should-receive-http-response-headers-with-a-200-status-code.md): curl --verbose
- [Reference](reference-4.md): Learn how to create or use a Google Service Account Key for sending Android Notifications using FCM.
- [Analytics and error reports](analytics-and-error-reports.md): An overview of analytics services available in the Expo and React Native ecosystem.
- [Authentication](authentication.md): An overview of authentication integrations available in the Expo and React Native ecosystem.
- [CMS](cms.md): An overview of Content Management Systems (CMS) available in the Expo and React Native ecosystem.
- [Database and SDKs](database-and-sdks.md): A guide on getting started and using Firebase JS SDK and React Native Firebase library.
- [Emails](emails.md): Learn how to integrate Resend in your Expo and React Native app to programmatically send emails with Expo Router's AP...
- [Feature flags](feature-flags.md): An overview of feature flag services available in the Expo and React Native ecosystem.
- [In-app purchases](in-app-purchases.md): Learn about how to use in-app purchases in your Expo app.
- [Push notifications](push-notifications-2.md): Learn about push notification services that are compatible with Expo and React Native apps.
- [Tools](tools.md): A guide on configuring ESLint and Prettier to format Expo apps.
- [@info Ignore the root .expo directory. #](info-ignore-the-root-bexpob-directory.md): /.expo
- [@end #](end-3.md): node_modules
- [TV apps](tv-apps.md): A guide for building an Expo app for an Android TV or Apple TV target.
- [Web apps](web-apps.md): A guide for integrating Next.js with Expo for the web.
- [More](more-3.md): Learn how to incrementally upgrade the Expo SDK version in your project.
- [Assorted](assorted.md): Learn how to utilize the expo-auth-session library to implement authentication with OAuth or OpenID providers.
- [Troubleshooting](troubleshooting.md): An overview of troubleshooting guides for app development with Expo and EAS.
- [Regulatory compliance](regulatory-compliance.md): An overview of data and privacy protection policies that Expo offers.