The root directory of the External Storage is:
file:///mnt/sdcard/ or
file:///storage/emulated/0/
/storage/emulated/0/.
file:///sdcard/Makeroid/library/
is the same as:
file:///storage/emulated/0/Makeroid/library/
or
/storage/emulated/0/Makeroid/library/
These dirs are visible / accessible on your device, where (from an Android point of view) this “External Storage” is called “Internal Storage” (see below):
Internal Storage > Makeroid > library
For a webView the path to the assets is for the compiled app (APK):
file:///android_asset/
and for Companion:
file:///storage/emulated/0/Makeroid/assets/
FOR CLARIFICATION:
From an Android point of view there are an Internal Storage and an External Storage.
1. Internal Storage
In the Internal Storage, the app package is saved:
/data/data/<packageName>/
which can only be accessed with a rooted device.
2. External Storage
The root directory of the External Storage is:
/storage/emulated/0/
2.1. App-specific directory
In addition, there may be an app-specific directory (which can be created with Taifun’s File extension: App Inventor Extensions: File | Pura Vida Apps or the FileTools extension)
/storage/emulated/0/Android/data/<packageName>/files/
which is saved in the External (private) Storage, but does not require READ_ / WRITE_EXTERNAL_STORAGE permissions.
This app-specific (private) folder can only be accessed by your app.
See: Manifest.permission | Android Developers
2.2. Removable (micro) SD card
There may also be another External Storage: a removable (micro) SD card, eg:
/storage/82C3-E96C/
that can only be read (on modern Android systems, since Android KitCat).
Note:
The root directory of the External Storage
/storage/emulated/0/
is displayed on the device as Internal Storage (unfortunately this is a bit ambiguous).