This is my current process for Android and it’s not working very well. Very frustrating as I spend most of my time trying to get js changes to load. App is ejected and I have latest expo v2.11.2:
make changes to js files
ctrl+c on expo cli cmd line to stop expo
stop app from Android studio
hard kill app on device
run expo start again after saving js changes
run app on device from Android studio
Almost every time my javascript bundle does not update and I don’t see my changes. What am I doing wrong?? Can anyone suggest a better workflow? At one point I did get the dev menu up but enabling hot reloading caused a bunch of runtime errors.
I have resorted to uninstalling the app and running expo start -c, and even then sometimes the latest code will not load.
Currently on a Nexus 6P with API 26. Shaking the device never produces the dev menu btw. Same issues with Pixel 3 although it’s a bit better.
Hi Charlie, can’t recall but I don’t think I upgraded the gradle version when prompted.
Anyway, I did at least temporarily resolve this by completely removing the updates property from app.json, saving and restarting. That caused hot reloading to start working and dev menu is consistently showing up on device shake.
Even though the expo docs say that checkAutomatically and fallbackToCacheTimeout are ignored with expo cli, I think there may be a bug there.
This was my previous updates config:
“updates”: {
“checkAutomatically”: “ON_ERROR_RECOVERY”,
“enabled”: false
},
I currently have it like this, as I want Android built with the entire bundle inside (no OTA):
“updates”: {
“fallbackToCacheTimeout”: 30000,
“checkAutomatically”: “ON_LOAD”,
“enabled”: false
},
For whatever reason this setting is working well. Thanks!
Also, in our docs, it states that checkAutomatically: "ON_ERROR_RECOVERY" is ignored in the Expo Client, as well as “enabled”: false, but I don’t see it saying fallbackToCacheTimeout is ignored. That would explain why changing those fields in your app.json resulted in changes.