一、問題描述
連線兩個u盤;乙個為ntfs,乙個為fat32;從ntfs可以向fat32拷貝,反之報錯「唯讀檔案系統」。
二、問題原因
mount
/dev/block/vold/8:1 /mnt/usb/843e1e3a3e1e2628 ntfs ro,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,umask=02,nls=utf8,errors=continu
e,mft_zone_multiplier=1 0 0
ll /mnt/usb/
dr-xr-xr-x media_rw media_rw 2015-04-03 14:23 843e1e3a3e1e2628
問題有兩個:
1.ntfs格式u盤掛載為readonly;
2.掛載點目錄許可權問題
三、問題解決
1.修復問題1
移植fstype_support/android_external_ntfs-3g,使用ntfs-3g掛載。
ntfs_3g檔案系統支援包
system/vold/ntfs.cpp
#define ntfs_3g_path "/system/bin/ntfs-3g" //add by tank
int ntfs::domount(const char *fspath, const char *mountpoint,
bool ro, bool remount, int owneruid, int ownergid,
int permmask)
sprintf(mountdata,
"uid=%d,gid=%d,fmask=%o,dmask=%o,nls=utf8",
owneruid, ownergid, permmask, permmask);
rc = mount(fspath, mountpoint, "ntfs3g", flags, mountdata);
#else
slogi("mount ntfs block device by tcl ntfs ntfs-3g");
sprintf(mountdata,"locale=utf8,uid=%d,gid=%d,fmask=%o,dmask=%o,inherit, atime",\
owneruid, ownergid, permmask, permmask);
const char *args[16];
args[0] = ntfs_3g_path;
args[1] = fspath;
args[2] = mountpoint;
args[3] = "-o";
args[4] = mountdata;
args[5] = null;
rc = logwrap(5, args, 1);
#endif
if (rc)
return rc;
}
2.修復問題2
system/vold/volume.cpp
int volume::mountvol() else
}}
Android5 0新控制項
1.recycleview 使用方法 實現listview,gridview及瀑布流 新增分割線 自定義itemderection 刪除及增加動畫 下拉重新整理 onscrollstatechanged 引數 recyclerview recyclerview,int newstate 正在滾動 p...
android 5 0 修改預設桌布
android 5.0中homescreen的預設桌布位置 frameworks base core res res drawable nodpi default wall jpg 可以在frameworks base core res目錄下搜尋default wall jpg檔案,替換掉就可以了。...
android5 0的過度動畫
最近一直研究5.0的過度動畫,網上找了好多帖子 博文,千篇一律,乙個博文或者乙個帖子,引申出好多,然並卵,基本上都說的是一共分成兩種方法 一,實現 fade fade new fade fade.setduration 2000 getwindow setreentertransition fade...