【发布时间】:2017-10-23 15:14:37
【问题描述】:
我在 Visual Studio 的 Xamarin Android 解决方案中绑定了 libaums AAR。
我从here 使用libaums-0.5.0.aar。
在编译时,我通过将这些指令添加到我的 Metadata.xml 文件中解决了 2 个错误:
<attr path="/api/package[@name='com.github.mjdev.libaums.fs.fat32']/class[@name='FatDirectory']/method[@name='createDirectory']" name="managedReturn">IUsbFile</attr>
<attr path="/api/package[@name='com.github.mjdev.libaums.fs.fat32']/class[@name='FatDirectory']/method[@name='createFile']" name="managedReturn">IUsbFile</attr>
然后我尝试实现在 libaums github 上找到的示例来获取大容量存储设备:
UsbMassStorageDevice[] devices = UsbMassStorageDevice.GetMassStorageDevices(Global.MyActivity.ApplicationContext);
foreach (UsbMassStorageDevice device in devices)
{
// before interacting with a device you need to call init()!
device.Init();
// Only uses the first partition on the device
IFileSystem currentFs = device.Partitions[0].FileSystem;
Console.WriteLine("Capacity: " + currentFs.Capacity);
Console.WriteLine("Occupied Space: " + currentFs.OccupiedSpace);
Console.WriteLine("Free Space: " + currentFs.FreeSpace);
Console.WriteLine("Chunk size: " + currentFs.ChunkSize);
}
但是在运行时我在currentFs.Capacity 上有一个例外,上面写着:
没有非静态方法“Lcom/github/mjdev/libaums/fs/fat32/Fat32FileSystem;getCapacity()J”
有什么想法吗?
【问题讨论】: