tl;dr: eas build --profile development --platform android --local
with eas-cli version 0.34.0
builds in release
mode, whereas the build farm builds in debug
mode.
Today I tried to build a new dev client for an app after upgrading from SDK 43 beta to SDK 43. I got a message saying that there was a new version of eas-cli, so I decided to upgrade first. I am not sure what version worked previously.
Current version of eas-cli:
$ eas --version
eas-cli/0.34.0 linux-x64 node-v12.22.5
When I run the following command, the resulting APK appears to be a production, standalone APK. It opens the app directly. Not a dev client.
eas build --profile development --platform android --local
If I build on the build farm with:
eas build --profile development --platform android
I do get a dev client as a result.
Also, if I compare an app that I have deliberately compiled in release
mode (using the apk
profile (see below)) to a dev client build compiled on the build farm, I see that the dev client build contains (amongst other things):
META-INF/expo_debug.kotlin_module
whereas the release
APK contains:
META-INF/expo_release.kotlin_module
The APK compiled on my local machine with --profile development
contains the release
version of the above file (and res/raw
etc.).
eas.json
{
"build": {
"release": {},
"apk": {
"android": {
"buildType": "apk",
"image": "latest"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"release": {}
},
"cli": {
"version": ">= 0.34.0",
"requireCommit": true
}
}
Please let me know if you need more info.