Detached to expokit. How to Build?


#1

Note: If you choose to detach to ExpoKit, some Expo services are no longer available. For example, we can’t generate standalone builds for you any more. You’ll need to manage the native builds yourself.

As per expo docs. I have detached to expokit using CRNA eject command as i had to use a native module. Does we can’t generate standalone builds for you any more means i cannot use exp build:android command anymore? If so then how will i publish my JS bundle in order for my generated apk to access?


#2

Once you detach, you will have to build your project in Xcode or AS. If you’re building to debug your project, make sure your JS bundle is being served either via the exp CLI or XDE. If you are having an issue with Xcode not fetching your bundle, double check in the ExShell.plist file (Can be found in the Supporting folder under your project) for the developmentURL key and make sure the value matches the URL being served. For Android, you can check the development URL in the ExponentBuildConstants file which can be found following the android/app/src/main/java/your-project-name/generated path in your project. If you are building for release, just publish your JS and the release build will fetch from your production URL.


#3

One can build a detached app with ExpoKit from the command line using the following command:

gradle assembleRelease

this creates the apk files under android/app/builds/…

(see for some ideas about gradle: https://developer.android.com/studio/build/building-cmdline.html)

the above created apk files are still unsigned, and need to be signed in order to make them installable on a device

signing unsigned apks is described in details here: https://developer.android.com/studio/publish/app-signing.html#sign-manually