Do we need XCode and Android studio when using Expo build service?

First thank you for Expo …

Just to give you the reason for this post I’m one of the waiting guys’ for webrtc feature so I’m in dead end due to this limitation

Since I can’t wait more I dig in the documentation to see if there is away around this

So, I found in the documentations that “Use Expo build service to create your iOS and Android builds” is in progress

And As I’m newbie on this matter I wanted to ask: Do we need XCode and Android studio when using Expo build service when it is ready?

Actually I don’t want to use Android Studio nor XCode at all for building any app (old developer), is this possible with Expo? If yes how?


In order to use WebRTC you would currently need to eject to the Bare workflow.
Expo’s current build service only works for Managed workflow apps.
So right now, you would need Android Studio and Xcode to build your app.

Where did you see this?

Thank you for for the clarification

Here for “Bare workflow” showing in progress


OK, so clearly they are working on it. That is quite a big deal, so they will definitely announce it when it’s ready.

yup we are working on it! currently testing it with a few folks, we’ll let people know when we’re ready to open it up to broader testing

Thank you

So when Expo build for bare workflow is ready, there will be no need for XCode nor A. Studio to build bare workflow app?


if you are working on a bare project then you would need those tools to build and run your project locally in development. but you wouldn’t need to use them to create your release builds.

we’re working on a solution for the development side of things too, but one thing at a time


Got it Thanks

First of all, I want to thank you for your wonderful and continuous efforts to make Expo better and open more options for developers

I also invite Expo Team to reconsider the acceleration of the inclusion of Webrtc in your short plans as it is really required now by developers because of COVID19

Thank you and for all Expo contributors and supporters


If you haven’t already you might want to upvote the feature request on

But the problem is there’s a conflict between adding features and keeping the size of managed apps down.

They have posted recently about things they’re working on to allow you to remove things from the app that you don’t need. The problem is it makes it much easier to break your app with an OTA update that references native code that doesn’t exist in the deployed app because you removed it to save space.

I don’t see it as conflict

It is up to the developer to chose to add a module or to remove it to save space…

Otherwise if it is a “conflict” no one will ask for any additional features

Another thing is that features like Webrtc, Bluetooth etc. are a must thing to be included otherwise people will shift from Expo to other providers such as Ionic, Flutter …etc.

I still see Expo is better than the others, but staying on the Top requires continuous updates and essential features to be added…

In the features request Bluetooth and Webrtc have ben requested since 2017 this really long time of waiting


The problem is that currently if they add WebRTC or Bluetooth support then everybody will have that native code in their app whether they use it or not.

They are working on this problem, but for now the answer is to eject.

If what you are saying is true then they will stop adding any feature, I hope not!! Also if it is true then they need to redesign Expo, maybe make it different levels or only include the imported modules.

Anyway for my project that requires WebRTC I will shift to Flutter as it seems they wont support it soon, and keep other projects with Expo…


I am just a user of Expo, so I can’t tell you what exactly they are planning etc. but as I said they have posted some things to indicate that they are working on the problem. It’s just not a very easy problem to solve.

They have recently made some modules that were only available in the Managed workflow (like Updates) available in the Bare workflow. They have also hinted about extending their build service to be able to build Bare apps. This shows that they are trying to make the Bare workflow better, so ejecting is less painful.

I’ve also seen a post (although I can’t remember now where I saw it) about their plans to allow people to exclude certain things from Managed apps (e.g. face detector) if they are not going to use it. Part of the problem is that this is hard to do in a way that will avoid lots of unhappy developers who publish an OTA update that references the face detector after they excluded it from the original build.

Anyway, as I said I am just an Expo user, so don’t take what I say as some sort of Expo company policy.

Thank you…