After changing project structure, local images stopped displaying on Android. This is due to the fact that React Native on Android uses okhttp for requests, which modifies the endpoint "by cleaning up the wrong part" from
http://10.0.2.2:8081/../common/example/assets/image.jpg
to
http://10.0.2.2:8081/common/example/assets/image.jpg
A quick fix for this is to create a symlink to the common directory, allowing images to be resolved without the ../ segment.
Summary
After changing project structure, local images stopped displaying on Android. This is due to the fact that React Native on Android uses okhttp for requests, which modifies the endpoint "by cleaning up the wrong part" from
http://10.0.2.2:8081/../common/example/assets/image.jpg
tohttp://10.0.2.2:8081/common/example/assets/image.jpg
A quick fix for this is to create a symlink to the common directory, allowing images to be resolved without the
../
segment.Special thanks to Kudo for sharing the original workaround here: https://github.com/facebook/metro/issues/322#issuecomment-445642199.