ext4
can be explored without mounting, using debugfs
tool. But natively there is no way to access raw filesystem without root access on Android devices. Partitions are enumerated as block devices by Linux kernel, and default permission set by Android's init
on block devices is 0600
(can be overridden in uevent.rc
) or 0660
in case of vold
, owned by 0:0
. Also stock SELinux policy won't allow apps access files in /dev
. So the block devices can't be read without root access.
Other way is to read a USB storage device in host mode through APIs. But Android's USB Host APIs provide only raw USB access, they don't have UMS filesystem code. However there are third party solutions like the one provided by Paragon, which includes raw-USB operations to achieve block-level device access, and the appropriate filesystem logic.
NTFS is a proprietary filesystem so it cannot have an open-source in-kernel Linux driver. Paragon develops drivers for filesystems including NTFS, exFAT (now open source) and HFS for Linux. They also develop exFAT/NTFS USB OTG host implementation for USB Mass Storage devices.
So what you are looking for is an app with third party implementation of USB OTG host APIs for ext4
filesystem. Paragon provides ext2/3/4
for Windows but no USB OTG solution is available for Android yet (probably because it's not of much use as ext
filesystems are native to Linux/Android). However ExtFS support is part of Paragon's SDK for Android to be used by vendors and app developers. Also there's open-source Drive Mount (seems abandoned), which intends “to support HFS+ and Linux filesystems, sometime”.
As a side note, modded vold
(such as vold-posix
) is used on mostly custom ROMs which can mount ext4
partition from secondary external storage (SD cards, USB sticks) on non-rooted devices as well.