高通 Android 8/9/12/13 兼容U盘识别extfat模式

这篇具有很好参考价值的文章主要介绍了高通 Android 8/9/12/13 兼容U盘识别extfat模式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Android本身不支持extfat格式 需要通过nofuse 打kernel补丁方式去实现 

Android 8/9

1、kernel/msm-4.9/arch/arm64/configs/sdm670-perf_defconfig 增加代码如下(需要提交编译kernel记得git add sdm670-perf_defconfig 不需要commit哈!否则编译会还原这个文件,切记!)

--- a/LINUX/android/kernel/msm-4.9/arch/arm64/configs/sdm670-perf_defconfig
+++ b/LINUX/android/kernel/msm-4.9/arch/arm64/configs/sdm670-perf_defconfig
@@ -314,6 +314,7 @@ CONFIG_INPUT_UINPUT=y
 # CONFIG_DEVMEM is not set
 # CONFIG_DEVKMEM is not set
 CONFIG_SERIAL_MSM_GENI=y
+CONFIG_SERIAL_MSM_GENI_CONSOLE=y
 CONFIG_DIAG_CHAR=y
 CONFIG_HW_RANDOM=y
 CONFIG_HW_RANDOM_MSM_LEGACY=y
@@ -602,6 +603,9 @@ CONFIG_QFMT_V2=y
 CONFIG_FUSE_FS=y
 CONFIG_MSDOS_FS=y
 CONFIG_VFAT_FS=y
+CONFIG_EXFAT_FS=y
+CONFIG_EXFAT_DEFAULT_CODEPAGE=437
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
 CONFIG_TMPFS_POSIX_ACL=y
 CONFIG_ECRYPT_FS=y
 CONFIG_ECRYPT_FS_MESSAGING=y

2、kernel/msm-4.9/arch/arm64/configs/sdm670_defconfig中增加如下代码

diff --git a/kernel/msm-4.9/arch/arm64/configs/sdm670_defconfig b/kernel/msm-4.9/arch/arm64/configs/sdm670_defconfig
index 934e100174..f2302ecd52 100644
--- a/kernel/msm-4.9/arch/arm64/configs/sdm670_defconfig
+++ b/kernel/msm-4.9/arch/arm64/configs/sdm670_defconfig
@@ -603,6 +603,9 @@ CONFIG_QFMT_V2=y
 CONFIG_FUSE_FS=y
 CONFIG_MSDOS_FS=y
 CONFIG_VFAT_FS=y
+CONFIG_EXFAT_FS=y
+CONFIG_EXFAT_DEFAULT_CODEPAGE=437
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
 CONFIG_TMPFS_POSIX_ACL=y
 CONFIG_ECRYPT_FS=y
 CONFIG_ECRYPT_FS_MESSAGING=y

Android 12/13 

3、kernel/msm-4.19/arch/arm64/configs/vendor/device-perf_defconfig 增加(需要提交编译kernel记得git add device-perf_defconfig 不需要commit哈! 否则编译会还原这个文件,切记!)

diff --git a/kernel/msm-4.19/arch/arm64/configs/vendor/device-perf_defconfig b/kernel/msm-4.19/arch/arm64/configs/vendor/device-perf_defconfig

index a072c626fe7..b150b127880 100644

--- a/kernel/msm-4.19/arch/arm64/configs/vendor/device-perf_defconfig

+++ b/kernel/msm-4.19/arch/arm64/configs/vendor/device-perf_defconfig

@@ -28,6 +28,9 @@ CONFIG_CGROUP_CPUACCT=y

CONFIG_CGROUP_BPF=y

CONFIG_SCHED_CORE_CTL=y

CONFIG_NAMESPACES=y

+CONFIG_EXFAT_FS=y

+CONFIG_NTFS_FS=y

+CONFIG_NTFS_RW=y

# CONFIG_PID_NS is not set

CONFIG_SCHED_AUTOGROUP=y

CONFIG_SCHED_TUNE=y

4、kernel/msm-4.19/arch/arm64/configs/vendor/device_defconfig中增加

diff --git a/kernel/msm-4.19/arch/arm64/configs/vendor/bengal_defconfig b/kernel/msm-4.19/arch/arm64/configs/vendor/bengal_defconfig

index 4bb8f0343e6..5e66d553d36 100644

--- a/kernel/msm-4.19/arch/arm64/configs/vendor/bengal_defconfig

+++ b/kernel/msm-4.19/arch/arm64/configs/vendor/bengal_defconfig

@@ -29,6 +29,10 @@ CONFIG_CGROUP_BPF=y

CONFIG_CGROUP_DEBUG=y

CONFIG_SCHED_CORE_CTL=y

CONFIG_NAMESPACES=y

+CONFIG_EXFAT_FS=y

+CONFIG_NTFS_FS=y

+CONFIG_NTFS_RW=y

+

# CONFIG_PID_NS is not set

CONFIG_SCHED_AUTOGROUP=y

CONFIG_SCHED_TUNE=y

5、kernel/msm-4.19/fs/Kconfig b/kernel/msm-4.19/fs/Kconfig 增加+source "fs/exfat/Kconfig"

diff --git a/kernel/msm-4.19/fs/Kconfig b/kernel/msm-4.19/fs/Kconfig

index b8d003f02b7..947e731b316 100644

--- a/kernel/msm-4.19/fs/Kconfig

+++ b/kernel/msm-4.19/fs/Kconfig

@@ -137,6 +137,8 @@ menu "DOS/FAT/NT Filesystems"

source "fs/fat/Kconfig"

source "fs/ntfs/Kconfig"

+source "fs/exfat/Kconfig"

+

6、kernel/msm-4.19/fs/Makefile b/kernel/msm-4.19/fs/Makefile 中增加+obj-$(CONFIG_EXFAT_FS)      += exfat/

diff --git a/kernel/msm-4.19/fs/Makefile b/kernel/msm-4.19/fs/Makefile

index 9d1caea038f..56aca48a51d 100644

--- a/kernel/msm-4.19/fs/Makefile

+++ b/kernel/msm-4.19/fs/Makefile

@@ -80,6 +80,7 @@ obj-$(CONFIG_HUGETLBFS)               += hugetlbfs/

obj-$(CONFIG_CODA_FS)          += coda/

obj-$(CONFIG_MINIX_FS)         += minix/

obj-$(CONFIG_FAT_FS)           += fat/

+obj-$(CONFIG_EXFAT_FS)      += exfat/

obj-$(CONFIG_BFS_FS)           += bfs/

obj-$(CONFIG_ISO9660_FS)       += isofs/

obj-$(CONFIG_HFSPLUS_FS)       += hfsplus/ # Before hfs to find wrapped HFS+

diff --git a/kernel/msm-4.19/fs/exfat/.gitignore b/kernel/msm-4.19/fs/exfat/.gitignore

new file mode 100644

index 00000000000..241505f47ee

--- /dev/null

7、

+++ b/kernel/msm-4.19/fs/exfat/.gitignore

高通 Android 8/9/12/13 兼容U盘识别extfat模式

kernel/msm-4.19/fs/exfat/.gitignore                             |    7 +

kernel/msm-4.19/fs/exfat/Kconfig                                |   39 +

kernel/msm-4.19/fs/exfat/LICENSE                                |  339 ++++++++

kernel/msm-4.19/fs/exfat/Makefile                               |   56 ++

kernel/msm-4.19/fs/exfat/README.md                              |   98 +++

kernel/msm-4.19/fs/exfat/dkms.conf                              |    7 +

kernel/msm-4.19/fs/exfat/exfat-km.mk                            |   11 +

kernel/msm-4.19/fs/exfat/exfat_api.c                            |  528 ++++++++++++

kernel/msm-4.19/fs/exfat/exfat_api.h                            |  206 +++++

kernel/msm-4.19/fs/exfat/exfat_bitmap.c                         |   63 ++

kernel/msm-4.19/fs/exfat/exfat_bitmap.h                         |   55 ++

kernel/msm-4.19/fs/exfat/exfat_blkdev.c                         |  197 +++++

kernel/msm-4.19/fs/exfat/exfat_blkdev.h                         |   73 ++

kernel/msm-4.19/fs/exfat/exfat_cache.c                          |  784 +++++++++++++++++

kernel/msm-4.19/fs/exfat/exfat_cache.h                          |   85 ++

kernel/msm-4.19/fs/exfat/exfat_config.h                         |   69 ++

kernel/msm-4.19/fs/exfat/exfat_core.c                           | 5138 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

kernel/msm-4.19/fs/exfat/exfat_core.h                           |  671 +++++++++++++++

kernel/msm-4.19/fs/exfat/exfat_data.c                           |   77 ++

kernel/msm-4.19/fs/exfat/exfat_data.h                           |   58 ++

kernel/msm-4.19/fs/exfat/exfat_nls.c                            |  448 ++++++++++

kernel/msm-4.19/fs/exfat/exfat_nls.h                            |   91 ++

kernel/msm-4.19/fs/exfat/exfat_oal.c                            |  196 +++++

kernel/msm-4.19/fs/exfat/exfat_oal.h                            |   74 ++

kernel/msm-4.19/fs/exfat/exfat_super.c                          | 2711 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

kernel/msm-4.19/fs/exfat/exfat_super.h                          |  171 ++++

kernel/msm-4.19/fs/exfat/exfat_upcase.c                         |  405 +++++++++

kernel/msm-4.19/fs/exfat/exfat_version.h                        |   19 +

8、添加好之后记得将device-perf_defconfig文件git add  平台(rk/全志/展锐/高通)/kernel/msm-4.19/arch/arm64/configs/vendor/device_defconfig 否则编译的时候会恢复到原来没修改状态 会导致无法在out/target/product/bengal/obj/kernel/msm-4.19/fs/exfat 生成对应.o文件 切记

9、执行编译就ok 编译成功之后在 window 下面 adb shell cat /proc/filesystems ,如果列表出现exfat格式说明当前设备已经支持exfat格式 如下图所示

高通 Android 8/9/12/13 兼容U盘识别extfat模式

10、到这里基本结束了,其他平台具体以实际平台情况为主,有问题可以评论区或者讨论哈!转载请注明出处 谢谢!有学习framework大佬们可以一起交流 加我WeChat   一起学习 一起进步 kdanmobile 

感谢:Android 9.0 支持NTFS和Exfat 格式U盘开发_android ntfs_Mrsongs的心情杂货铺的博客-CSDN博客

转载请注明出处 谢谢 高通 Android 13 兼容extfat模式_KdanMin的博客-CSDN博客

其他源码补丁源码下载 mirrors / dorimanx / exfat-nofuse · GitCode文章来源地址https://www.toymoban.com/news/detail-443884.html

到了这里,关于高通 Android 8/9/12/13 兼容U盘识别extfat模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 高通 Android 12 调试产测NFC功能

     1、在dev/nxpnfc节点添加对应的文件权限 2、在 vendor/nxp/nfcdevice-nfc.mk 文件中 修改NFC添加到编译路径如下所示,跟平时内置apk方式有点类似 3、然后执行 make 命令 这时候就会在out目录下面system/bin目录生成  NFCTestApp 可执行文件 4、产测中执行shell命令 代码如下 5、其他原生识别N

    2024年02月09日
    浏览(52)
  • Android 保存/读取本地SD卡文件(兼容Android 13)

    1.manifeast文件 (1)app权限 (2)application配置 (3)组件配置 注意:Android 12以上,组件创建会自动生成以下属性 表示”是否支持其它应用调用当前组件” 如果不添加改属性,会报错。 2.动态申请文件存储权限 说明,Android的权限根据版本号分为三种 1:Android6.0之前 2:Androi

    2024年02月05日
    浏览(64)
  • Android框架mqtt库无法兼容高版本android13的问题

    最近使用mqtt库,测试的时候发现在Android12及以下正常,但在13上闪退,闪退日志如下 提示很明显是version 31版本在创建PendingIntent的时候需要做适配,于是全局搜索把适配代码加上,代码如下 加上之后还是报同样的错误,几经周折才发现mqtt库里也用到了PendingIntent且没有做适配

    2024年02月07日
    浏览(38)
  • 关于Android 11、12和13服务保活问题

    物联网环境,为了解决不同厂商、不同设备、不同网络情况下使用顺畅,同时也考虑到节约成本,缩小应用体积的好处,我们需要一个服务应用一直存在系统中,保活它以提供服务给其他客户端调用。 开机自启动,通过广播通信, 必要权限 开机自启动Service相关代码 注意

    2023年04月08日
    浏览(86)
  • Android 13 开启关闭飞行模式

            由于客户定制的Settings里面需要开启和关闭飞行模式,所以需要实现此功能。         首先应用肯定要是系统应用,并且导入framework.jar包,具体可以参考: Android 应用自动开启辅助(无障碍)功能并使用辅助(无障碍)功能_android 自动开启无障碍服务_龚礼鹏的博客

    2024年02月12日
    浏览(43)
  • Android 13 设置自动进入wifi adb模式

    Android11之前 wifi adb 端口默认是 5555,adb connect ip即可完成adb 连接 Android13 上,wifi adb 端口默认是 随机的6位数,每次wifi adb 连接需要打开开发者模式里面的\\\"无线调试\\\", 并且最麻烦的是每次连接新的wifi,都需要重新打开开发者模式里面的\\\"无线调试\\\",会生成新的端口号,需要输

    2024年02月16日
    浏览(38)
  • android 13.0 去掉recovery模式UI操作页面的菜单选项

    在13.0进行系统rom定制化开发中,在进行一些定制化开发中,会根据需要在进入recovery模式的时候,去掉recovery模式的一些菜单选项, Reboot to bootloader,Enter rescue等菜单项,经过分析得知, 就是在device.cpp去掉一些菜单选项就可以了,接下来就来分析实现相关功能 在13.0的recove

    2024年02月04日
    浏览(59)
  • android 12.0USB连接模式默认设为MTP

    在12.0android系统产品开发中,UsbManager调用接口,会binder通信到UsbService。而UsbService又有两个实例,一个 UsbHostManager,一个UsbDeviceManager。UsbDeviceManager和 UsbHostManager是一个相对的概念, UsbHostManager是手机作为一个host,比如键盘、鼠标通过usb连接手机。而UsbDeviceManager是手机与电脑

    2024年02月09日
    浏览(58)
  • android 12.0去掉recovery模式UI页面的选项

    在12.0进行定制化开发,会根据需要去掉recovery模式的一些选项 就是在device.cpp去掉一些选项就可以了 在12.0的recovery模块中,在device.cpp中 g_menu_actions 就是recovery用户操作选项集合,对应的事件处理 相对应的recovery模式选择事件,可以从这里去掉某些事件

    2024年02月08日
    浏览(36)
  • 格行sp790-v13的随身WiFi板子怎么切卡上网同样也是高通410

    把棒子通电上网就不用说了吧  然后打开sp970工具箱进去  以下信息自行辩解  然后在设置连接上WiFi信号  密码自己看壳子  链接以后打开sp970工具箱  IP不一定都是 进入  点击左侧菜单  点设备 进去以后 在更改SIM卡设置 那里点一下就自动换卡了 sp970工具箱为免费的 为避免

    2024年02月07日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包