FileTools : Some tools to work with files

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  |  API reference  |  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).

10 Likes