Skip to content

Releases

libaums-ng v1.0.4

Choose a tag to compare

@danusha2345 danusha2345 released this 01 Jun 13:02

Highlight: read-only exFAT 🎉

libaums-ng can now read exFAT volumes — the default format for USB drives and SD cards larger than 32 GB (cameras, drones, general use). Upstream libaums supports only FAT32 in core.

  • Mount exFAT volumes (boot sector, capacity, volume label)
  • List the root directory and subdirectories
  • Read file contents, including multi-cluster files (FAT-chain traversal)

Verified against fsck-validated images written by mkfs.exfat + the Linux kernel exFAT driver. Writing exFAT is not supported yet (read-only for now). The libusbcommunication libusb backend is still not published via JitPack (needs an external libusb checkout).

Install (JitPack)

maven { url 'https://jitpack.io' }
implementation 'com.github.danusha2345.libaums-ng:core:v1.0.4'

🤖 Generated with Claude Code

libaums-ng v1.0.3

Choose a tag to compare

@danusha2345 danusha2345 released this 01 Jun 07:06

Changes since v1.0.2

  • Preserve source timestamps on copy (#357). New UsbFile.setCreatedAt / setLastModified / setLastAccessed let callers keep a source file's timestamps instead of "now". Implemented for FAT32 and persisted immediately.
  • Added offline regression coverage for truncate and append.

Install (JitPack)

maven { url 'https://jitpack.io' }
implementation 'com.github.danusha2345.libaums-ng:core:v1.0.3'

🤖 Generated with Claude Code

libaums-ng v1.0.2

Choose a tag to compare

@danusha2345 danusha2345 released this 31 May 18:16

First working release of libaums-ng, a maintained fork of magnusja/libaums — read/write USB mass storage on Android via OTG, no root.

Fixes

  • SCSI request-sense no longer crashes device init — clamp dynamic sense length to the buffer capacity (upstream #410) and read the additional-sense-length byte as unsigned.
  • FAT name matching is locale-independent (Locale.ROOT) — fixes case-insensitive duplicate detection on Turkish/Azeri locales.

Build / compatibility

  • minSdk 24, compileSdk/targetSdk 35 (resolves the API < 24 ByteBuffer NoSuchMethodError, upstream #347).
  • Publishing fixed for Gradle 8 / JitPack; builds without local.properties.

Testing

  • New offline test harness (no network fixtures) — FAT32 read/write coverage plus SCSI and locale regression tests.

Install (JitPack)

maven { url 'https://jitpack.io' }
implementation 'com.github.danusha2345.libaums-ng:core:v1.0.2'

libusbcommunication is not published via JitPack (needs an external libusb checkout); build it locally if you need the libusb backend.

🤖 Generated with Claude Code