系统环境

  • Android 4.4.2

问题描述

  • 交换内外SD卡挂载路径

patch

MediaScannerReceiver

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
From cd5ff810f5940c91d265b7c298fb141a045c94bf Mon Sep 17 00:00:00 2001
From: fantasy <591888356@qq.com>
Date: Wed, 15 Aug 2018 10:19:41 +0800
Subject: [PATCH 1/2] exchange extsd and sdcard

---
 .../com/android/providers/media/MediaScannerReceiver.java    | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/providers/MediaProvider/src/com/android/providers/media/MediaScannerReceiver.java b/providers/MediaProvider/src/com/android/providers/media/MediaScannerReceiver.java
index 7936782..65eff6d 100755
--- a/providers/MediaProvider/src/com/android/providers/media/MediaScannerReceiver.java
+++ b/providers/MediaProvider/src/com/android/providers/media/MediaScannerReceiver.java
@@ -117,7 +117,7 @@ public class MediaScannerReceiver extends BroadcastReceiver {
 					for(int i = 0; i < list.length; i++)
 					{
 					    Log.d(TAG, "i " + i + "list[i] "+ list[i]);
-						if(list[i].contains("extsd")){
+						if(list[i].contains("sdcard")){
 							//Log.d(TAG, "extsd i " + i + "list[i] "+ list[i]);
 							mExtsdList.add(list[i]);
 						}else if(list[i].contains("usb")){
@@ -144,8 +144,8 @@ public class MediaScannerReceiver extends BroadcastReceiver {
 					mHandler.sendMessage(msg);
                             
                 }else if (Intent.ACTION_MEDIA_SCANNER_SCAN_FILE.equals(action) &&
-                        path != null && (path.startsWith(externalStoragePath + "/") || path.startsWith("/mnt/extsd") || path.startsWith("/mnt/usbhost")
-                        || path.startsWith("/storage/extsd") || path.startsWith("/storage/usbhost"))) {
+                        path != null && (path.startsWith(externalStoragePath + "/") || path.startsWith("/mnt/sdcard") || path.startsWith("/mnt/usbhost")
+                        || path.startsWith("/storage/sdcard") || path.startsWith("/storage/usbhost"))) {
                     scanFile(context, path);
 
 					Message msg = new Message();
@@ -228,13 +228,13 @@ public class MediaScannerReceiver extends BroadcastReceiver {
                 case EVENT_ACTION_MEDIA_UNMOUNTED:
                     Log.d(TAG, "EVENT_ACTION_MEDIA_UNMOUNTED");
 					
-					if (mPath.contains("extsd")){
+					if (mPath.contains("sdcard")){
 						for(String extsd:mExtsdList)
 						{
 							if(Environment.MEDIA_MOUNTED.equals(mStorageManager.getVolumeState(extsd))){
-								Log.d(TAG, "mount /mnt/extsd");
+								Log.d(TAG, "mount /mnt/sdcard");
 					        }else {
-								Log.d(TAG, "unmount /mnt/extsd");
+								Log.d(TAG, "unmount /mnt/sdcard");
 								deleteMediaFile(mContext, mPath);
 								// notify on media Uris as well as the files Uri
 				                mContext.getContentResolver().notifyChange(
-- 
2.7.4

device

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
From edfbded9fcf81a0ca70b27c3563647d0542d5bfb Mon Sep 17 00:00:00 2001
From: fantasy <591888356@qq.com>
Date: Wed, 15 Aug 2018 10:14:24 +0800
Subject: [PATCH] exchange extsd and sdcard

---
 softwinner/astar-evb30/fstab.sun8i                                | 8 ++++----
 softwinner/astar-evb30/init.sun8i.rc                              | 2 +-
 .../overlay/frameworks/base/core/res/res/xml/storage_list.xml     | 4 ++--
 softwinner/astar-evb30/recovery.fstab                             | 4 ++--
 .../FileExplore/src/com/softwinner/explore/DevicePath.java        | 2 +-
 5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/softwinner/astar-evb30/fstab.sun8i b/softwinner/astar-evb30/fstab.sun8i
index f5b7b00..d540618 100755
--- a/softwinner/astar-evb30/fstab.sun8i
+++ b/softwinner/astar-evb30/fstab.sun8i
@@ -6,10 +6,10 @@
 /dev/block/by-name/system	/system             ext4      ro                                            	wait
 /dev/block/by-name/cache	/cache              ext4      noatime,nosuid,nodev,nomblk_io_submit,barrier=1	wait,check
 /dev/block/by-name/data         /data               ext4      noatime,nosuid,nodev,nomblk_io_submit,barrier=1,noauto_da_alloc    wait,check,encryptable=/dev/block/by-name/metadata
-/devices/virtual/block/nandk            auto    vfat      defaults                                                           wait,check,noemulatedsd,voldmanaged=sdcard:auto
-/devices/platform/sunxi-mmc.2/mmc_host  auto    vfat      defaults                                                           wait,check,noemulatedsd,voldmanaged=sdcard:auto
-/devices/platform/sunxi-mmc.0/mmc_host  auto    vfat      defaults                                                           wait,check,voldmanaged=extsd:auto
-/devices/platform/sunxi-mmc.1/mmc_host  auto    vfat      defaults                                                           wait,check,voldmanaged=extsd:auto
+/devices/virtual/block/nandk            auto    vfat      defaults                                                           wait,check,noemulatedsd,voldmanaged=extsd:auto
+/devices/platform/sunxi-mmc.2/mmc_host  auto    vfat      defaults                                                           wait,check,noemulatedsd,voldmanaged=extsd:auto
+/devices/platform/sunxi-mmc.0/mmc_host  auto    vfat      defaults                                                           wait,check,voldmanaged=sdcard:auto
+/devices/platform/sunxi-mmc.1/mmc_host  auto    vfat      defaults                                                           wait,check,voldmanaged=sdcard:auto
 /devices/platform/sunxi-ehci.1          auto    vfat      defaults                                                           wait,check,voldmanaged=usbhost1:auto
 /devices/platform/sunxi_hcd_host0       auto    vfat      defaults                                                           wait,check,voldmanaged=usbhost1:auto
 /devices/platform/sunxi-ohci.1          auto    vfat      defaults                                                           wait,check,voldmanaged=usbhost1:auto
diff --git a/softwinner/astar-evb30/init.sun8i.rc b/softwinner/astar-evb30/init.sun8i.rc
index c4d8381..7ef20b9 100755
--- a/softwinner/astar-evb30/init.sun8i.rc
+++ b/softwinner/astar-evb30/init.sun8i.rc
@@ -2,7 +2,7 @@ import init.sun8i.usb.rc
 
 on init
 
-	export EXTERNAL_STORAGE /mnt/sdcard
+	export EXTERNAL_STORAGE /mnt/extsd
 	mkdir /mnt/sdcard 0700 system system
 	symlink /mnt/sdcard /sdcard
 	symlink /mnt/sdcard /storage/sdcard0
diff --git a/softwinner/astar-evb30/overlay/frameworks/base/core/res/res/xml/storage_list.xml b/softwinner/astar-evb30/overlay/frameworks/base/core/res/res/xml/storage_list.xml
index 51f02aa..d41cdf4 100755
--- a/softwinner/astar-evb30/overlay/frameworks/base/core/res/res/xml/storage_list.xml
+++ b/softwinner/astar-evb30/overlay/frameworks/base/core/res/res/xml/storage_list.xml
@@ -33,7 +33,7 @@
 -->
 
 <StorageList xmlns:android="http://schemas.android.com/apk/res/android">
-    <storage android:mountPoint="/mnt/sdcard"
+    <storage android:mountPoint="/mnt/extsd"
              android:storageDescription="@string/storage_internal"
              android:primary="true"
              android:removable="false"
@@ -41,7 +41,7 @@
              android:mtpReserve="100" 
              android:allowMassStorage="true"
              android:maxFileSize="0"/>
-	<storage android:mountPoint="/mnt/extsd"
+	<storage android:mountPoint="/mnt/sdcard"
              android:storageDescription="@string/storage_sd_card"
              android:primary="false"
              android:removable="true"
diff --git a/softwinner/astar-evb30/recovery.fstab b/softwinner/astar-evb30/recovery.fstab
index 3c1cea5..e6ed9e7 100755
--- a/softwinner/astar-evb30/recovery.fstab
+++ b/softwinner/astar-evb30/recovery.fstab
@@ -11,5 +11,5 @@
 /dev/block/by-name/misc               /misc           emmc    defaults                                                        defaults
 /dev/block/by-name/recovery           /recovery       emmc    defaults                                                        defaults
 /dev/block/by-name/cache              /cache          ext4    defaults                                                        defaults
-/dev/block/by-name/UDISK              /sdcard         vfat    defaults                                                        defaults
-/dev/block/mmcblk0                    /extsd          vfat    defaults                                                        defaults
+/dev/block/by-name/UDISK              /extsd         vfat    defaults                                                        defaults
+/dev/block/mmcblk0                    /sdcard          vfat    defaults                                                        defaults
diff --git a/softwinner/polaris-common/prebuild/packages/FileExplore/src/com/softwinner/explore/DevicePath.java b/softwinner/polaris-common/prebuild/packages/FileExplore/src/com/softwinner/explore/DevicePath.java
index 9b1beab..0a12892 100755
--- a/softwinner/polaris-common/prebuild/packages/FileExplore/src/com/softwinner/explore/DevicePath.java
+++ b/softwinner/polaris-common/prebuild/packages/FileExplore/src/com/softwinner/explore/DevicePath.java
@@ -40,7 +40,7 @@ public class DevicePath{
 			totalDevicesList.add(list[i]);
 			if(list[i].equals(flash)){
 				flashList.add(list[i]);
-			}else if(list[i].contains("extsd")){
+			}else if(list[i].contains("sdcard")){
 				sdcardList.add(list[i]);
 			}else if(list[i].contains("usb")){
 				usbList.add(list[i]);
-- 
2.7.4

systemui

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
From 3ccd2d98bac65094e3b77f6c993a65c9ead7a862 Mon Sep 17 00:00:00 2001
From: fantasy <591888356@qq.com>
Date: Wed, 15 Aug 2018 10:08:43 +0800
Subject: [PATCH] exchange extsd and sdcard

---
 .../SystemUI/src/com/android/systemui/usb/StorageNotification.java      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/base/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java b/base/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
index 80aa21d..fc5f994 100755
--- a/base/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
+++ b/base/packages/SystemUI/src/com/android/systemui/usb/StorageNotification.java
@@ -212,7 +212,7 @@ public class StorageNotification extends SystemUI {
 							setMediaStorageNotification(R.string.usb_mounted_title,
 									R.string.usb_mounted_message,
 									com.android.internal.R.drawable.stat_notify_sdcard_prepare, true, false, null);
-						} else if (path.contains("extsd")) {
+						} else if (path.contains("sdcard")) {
 							setMediaStorageNotification(R.string.sd_mounted_title,
 									R.string.sd_mounted_message,
 									com.android.internal.R.drawable.stat_notify_sdcard_prepare, true, false, null);
-- 
2.7.4

vold

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
From 27c92d90ae001b3471d642ae90be34ae47b987fe Mon Sep 17 00:00:00 2001
From: fantasy <591888356@qq.com>
Date: Wed, 15 Aug 2018 10:12:36 +0800
Subject: [PATCH] exchange extsd and sdcard

---
 vold/DirectVolume.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/vold/DirectVolume.cpp b/vold/DirectVolume.cpp
index 8bdcdbf..9a9843d 100755
--- a/vold/DirectVolume.cpp
+++ b/vold/DirectVolume.cpp
@@ -241,9 +241,9 @@ int DirectVolume::handleBlockEvent(NetlinkEvent *evt) {
                 char nodepath[255];
                 mPartsChangeFlag = 0;
                 if (major == 179 || major == 259) {
-                    if (!strncmp(getLabel(), "sdcard", strlen("sdcard")) && !strncmp(dp, "/devices/platform/sunxi-mmc.", strlen("/devices/platform/sunxi-mmc."))) {
+                    if (!strncmp(getLabel(), "extsd", strlen("extsd")) && !strncmp(dp, "/devices/platform/sunxi-mmc.", strlen("/devices/platform/sunxi-mmc."))) {
                         mPartsChangeFlag = 1;
-                    } else if (!strncmp(getLabel(), "extsd", strlen("extsd")) && !strncmp(dp, "/devices/platform/sunxi-mmc.2", strlen("/devices/platform/sunxi-mmc.2"))) {
+                    } else if (!strncmp(getLabel(), "sdcard", strlen("sdcard")) && !strncmp(dp, "/devices/platform/sunxi-mmc.2", strlen("/devices/platform/sunxi-mmc.2"))) {
                         mPartsChangeFlag = 2;
                         mOemPartMajor = major;
                         mOemPartMinor = minor;
@@ -478,7 +478,7 @@ void DirectVolume::handlePartitionRemoved(const char *devpath, NetlinkEvent *evt
             SLOGE("Failed to cleanup ASEC - unmount will probably fail!");
         }
 
-        if (!strstr(getLabel(),"usb") && !strstr(getLabel(),"extsd")) {
+        if (!strstr(getLabel(),"usb") && !strstr(getLabel(),"sdcard")) {
         snprintf(msg, sizeof(msg), "Volume %s %s bad removal (%d:%d)",
                  getLabel(), getFuseMountpoint(), major, minor);
         mVm->getBroadcaster()->sendBroadcast(ResponseCode::VolumeBadRemoval,
-- 
2.7.4

修改外置SD卡挂载路径

可以新建一个软链接,链接到旧路径 (未证实)