MCPcopy Index your code
hub / github.com/alphadev-net/drive-mount

github.com/alphadev-net/drive-mount @release-1.5.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release release-1.5.2 ↗ · + Follow
375 symbols 786 edges 50 files 75 documented · 20%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

README

Build Status

This app provides access to USB Mass Storage devices on Android devices without requiring root permissions.

SAF UsbDocProvider

This is achieved in pure Java, which trades performance for portability.

Requirements

Roadmap

At the moment, I have planned to support common USB drive file formats like FAT32 and NTFS. However I'd like to support HFS+ and Linux filesystems, sometime.

Please refer to the Milestones for a more detailed look ahead.

Issues

If you have found a bug either report it via the Google Play Crash Handler or try to replicate the incident with logging enabled like so:

adb logcat

Links

External Resources

Extension points exported contracts — how you extend this code

ScsiTransferable (Interface)
@author Jan Seeger [12 implementers]
api/src/main/java/net/alphadev/usbstorage/api/scsi/ScsiTransferable.java
Transmittable (Interface)
Represents a payload that is transmitted between an USB device and its driver. @author Jan Seeger [9 implementers]
api/src/main/java/net/alphadev/usbstorage/api/scsi/Transmittable.java
BulkDevice (Interface)
A bulk device is an abstract device which communicates using SCSI. @author Jan Seeger [5 implementers]
api/src/main/java/net/alphadev/usbstorage/api/device/BulkDevice.java
Identifiable (Interface)
This interface enforces the presence of an ID accessor. @author Jan Seeger [4 implementers]
api/src/main/java/net/alphadev/usbstorage/api/Identifiable.java
BlockDevice (Interface)
@author Jan Seeger [4 implementers]
api/src/main/java/net/alphadev/usbstorage/api/device/BlockDevice.java

Core symbols most depended-on inside this repo

read
called by 36
api/src/main/java/net/alphadev/usbstorage/api/device/BulkDevice.java
getName
called by 14
api/src/main/java/net/alphadev/usbstorage/api/filesystem/Path.java
convertToInt
called by 12
scsi/src/main/java/net/alphadev/usbstorage/util/BitStitching.java
getId
called by 9
api/src/main/java/net/alphadev/usbstorage/api/Identifiable.java
getParent
called by 9
api/src/main/java/net/alphadev/usbstorage/api/filesystem/Path.java
getName
called by 9
api/src/main/java/net/alphadev/usbstorage/api/filesystem/StorageDevice.java
write
called by 8
api/src/main/java/net/alphadev/usbstorage/api/device/BulkDevice.java
send_mass_storage_command
called by 7
scsi/src/main/java/net/alphadev/usbstorage/bbb/BulkBlockDevice.java

Shape

Method 314
Class 43
Enum 10
Interface 8

Languages

Java100%

Modules by API surface

scsi/src/main/java/net/alphadev/usbstorage/bbb/BulkBlockDevice.java25 symbols
scsi/src/main/java/net/alphadev/usbstorage/scsi/answer/RequestSenseResponse.java20 symbols
scsi/src/main/java/net/alphadev/usbstorage/scsi/answer/StandardInquiryAnswer.java18 symbols
scsi/src/main/java/net/alphadev/usbstorage/scsi/answer/ModeSenseResponse.java16 symbols
scsi/src/main/java/net/alphadev/usbstorage/partition/PartitionParameters.java14 symbols
scsi/src/main/java/net/alphadev/usbstorage/partition/Partition.java13 symbols
app/src/main/java/net/alphadev/usbstorage/DocumentProviderImpl.java13 symbols
api/src/test/java/net/alphadev/usbstorage/api/tests/PathTest.java13 symbols
fat32/src/main/java/net/alphadev/fat32wrapper/Fat32Provider.java12 symbols
app/src/main/java/net/alphadev/usbstorage/StorageManager.java12 symbols
fat32/src/main/java/net/alphadev/fat32wrapper/FatStorage.java11 symbols
app/src/main/java/net/alphadev/usbstorage/UsbBulkDevice.java11 symbols

For agents

$ claude mcp add drive-mount \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page