xref: /expo/packages/expo-dev-menu/README.md (revision 6eefacaa)
1# �� expo-dev-menu
2
3Expo/React Native module to add developer menu to Debug builds of your application. This package is intended to be included in your project through [`expo-dev-client`](https://docs.expo.dev/develop/development-builds/introduction/#what-is-an-expo-dev-client).
4
5## Documentation
6
7You can find more information in the [Expo documentation](https://docs.expo.dev/develop/development-builds/introduction).
8
9## Contributing
10
11The `expo-dev-menu` repository consists of two different parts, the exported package, which includes the native functions, located in the `android`, `ios` and `src` folders and the Dev Menu interface, located under the `app` folder.
12
13Local development is usually done through `bare-expo`.
14
15To use `dev-client` when running `bare-expo` on Android, open [MainApplication.java](/apps/bare-expo/android/app/src/main/java/dev/expo/payments/MainApplication.java) and set the `USE_DEV_CLIENT` value to `true`.
16
17```diff
18- static final boolean USE_DEV_CLIENT = false;
19+ static final boolean USE_DEV_CLIENT = true;
20```
21
22To use `dev-client` when running `bare-expo` on iOS, open [AppDelegate.mm](/apps/bare-expo/ios/BareExpo/AppDelegate.mm) and set the `USE_DEV_CLIENT` value to `YES`.
23
24```diff
25- BOOL useDevClient = NO;
26+ BOOL useDevClient = YES;
27```
28
29### Making JavaScript changes inside the `app` folder
30
31To update the JavaScript code inside the `app` folder, you need to run the `dev-menu` bundler locally.
32
331. Navigate to the `dev-menu` package: `cd packages/expo-dev-menu`
342. Start the Metro bundler: `yarn start`
353. To use your local bundler on Android, open [DevMenuHost.java](/packages/expo-dev-menu/android/src/debug/java/expo/modules/devmenu/DevMenuHost.kt) and set `getUseDeveloperSupport` to `true`.
36
37```diff
38- override fun getUseDeveloperSupport() = false
39+ override fun getUseDeveloperSupport() = true
40```
41
424. Play with your changes on a simulator or device through `bare-expo`
435. Once you've made all the necessary changes run `yarn bundle:prod:ios && yarn bundle:prod:android` to update the embedded bundle
44