需求
Android6.0支持exfat格式内存卡.
需要修改的内容
1、kenel;
2、external\e2fsprogs\lib\blkid
3、system\vold
具体修改步骤
1、kernel部分移植的是github上的。链接:https://github.com/dorimanx/exfat-nofuse
2、
external\e2fsprogs\lib\blkid修改内容如下:
diff --git a/lib/blkid/Android.mk b/lib/blkid/Android.mk
index 2fe8f42..9710cf6 100755
--- a/lib/blkid/Android.mk
+++ b/lib/blkid/Android.mk
@@ -8,6 +8,7 @@ libext2_blkid_src_files := \
getsize.c \
llseek.c \
probe.c \
+ probe_exfat.c \
read.c \
resolve.c \
save.c \
@@ -18,7 +19,8 @@ libext2_blkid_src_files := \
libext2_blkid_shared_libraries := libext2_uuid
libext2_blkid_system_shared_libraries := libc
-
+libext2_blkid_static_libraries := libext2_uuid_static
+libext2_blkid_system_static_libraries := libc
libext2_blkid_c_includes := external/e2fsprogs/lib
libext2_blkid_cflags := -O2 -g -W -Wall -fno-strict-aliasing \
@@ -63,14 +65,12 @@ include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
-LOCAL_STATIC_LIBRARIES := \
- $(libext2_blkid_system_shared_libraries) \
- $(libext2_blkid_shared_libraries)
+
LOCAL_SRC_FILES := $(libext2_blkid_src_files)
+LOCAL_STATIC_LIBRARIES := $(libext2_blkid_static_libraries) $(libext2_blkid_system_static_libraries)
LOCAL_C_INCLUDES := $(libext2_blkid_c_includes)
LOCAL_CFLAGS := $(libext2_blkid_cflags) $(libext2_blkid_cflags_linux) -fno-strict-aliasing
-LOCAL_PRELINK_MODULE := true
LOCAL_MODULE := libext2_blkid
LOCAL_MODULE_TAGS := optional
diff --git a/lib/blkid/probe.c b/lib/blkid/probe.c
old mode 100644
new mode 100755
index 8215768..0617cf1
--- a/lib/blkid/probe.c
+++

本文详细介绍了如何使Android6.0系统支持exFAT格式的内存卡,包括kernel、e2fsprogs和vold的修改步骤。通过具体的代码修改示例和补丁文件链接,为开发者提供了实现exFAT支持的完整指南。
最低0.47元/天 解锁文章
1296





