米柚愛好者論壇

標題: <已解決>5.0版本資料儲存路徑問題 [打印本頁]

作者: moindwingfly    時間: 2014-1-27 22:24
標題: <已解決>5.0版本資料儲存路徑問題
本帖最後由 鸚鵡 於 2014-2-5 18:53 編輯

有些APP的儲存路徑是指定到sdcard0
有些是指定到固定裝置上面

造成兩個儲存區上面各自有不同APP的資料檔

如果刷了大內存,內置儲存只剩下100MB,很多軟體會因為指定存放於100MB內置中而馬上空間不足

試過將SD卡與內置互換,然後屏蔽100MB,想說能不能讓儲存裝置僅剩一個,強迫系統存取

vold.fstab 內容如下:
dev_mount sdcard2 /storage/sdcard1 auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-msdc.1/mmc_host

但仍很多軟體會強迫存取一定要在被屏蔽的裝置儲存上才行,

例如匯出電話簿會強迫存在SD卡上面,可是SD卡裝置已經被屏蔽調,而SD卡容量是顯示在內置儲存裡面

怎麼樣可以達到將所有程式資料都寫在SD卡上面,也不會讓程式的存取卡在手機裝置上面

作者: Mi2Sir    時間: 2014-1-27 22:47
5.0已將sd卡定為優先儲存設備,所以不必手動再調,也不用屏蔽!
我也是5.0,幾乎所有app的資料都會寫到sd卡

作者: moindwingfly    時間: 2014-1-27 23:12
Mi2Sir 發表於 2014-1-27 22:47
5.0已將sd卡定為優先儲存設備,所以不必手動再調,也不用屏蔽!
我也是5.0,幾乎所有app的資料都會寫到sd卡
...

問題是某些程式的數據紀錄是強制寫入內置記憶體
像官方google類的、fancy widgets、全民打棒球的數據(這是聽人家說的) 都會是強制儲存在內置儲存裡,
釣魚大師的登入檔(不是數據檔)也是強制寫入內置儲存,我有個朋友因為刷大內存之後100mb滿了,遊戲寫不進去也就是開不起來,頗苦惱的
作者: Mi2Sir    時間: 2014-1-27 23:25
moindwingfly 發表於 2014-1-27 23:12
問題是某些程式的數據紀錄是強制寫入內置記憶體
像官方google類的、fancy widgets、全民打棒球的數據(這 ...

遊戲我不清楚
但像FANCY WIDGES 我剛安裝了一下
是在SD卡的android資料夾下
作者: moindwingfly    時間: 2014-1-27 23:52
謝謝Mi2Sir大大撥空測試
我剛也測試全民打棒球的確會指定到內置記憶體,如果刷了大內存絕對是玩不成了
另外:發票123的存檔、facebook、android browser、youtube、android music、鈦備份6.1.4.3
資料檔都是強制放在內置儲存區的 android/data 中


作者: 鸚鵡    時間: 2014-1-28 19:12
moindwingfly 發表於 2014-1-27 23:52
謝謝Mi2Sir大大撥空測試
我剛也測試全民打棒球的確會指定到內置記憶體,如果刷了大內存絕對是玩不成了
另外 ...

把你的 vold.fatab 中的 dav_mount 指令都貼出來吧

我來瞧瞧
作者: moindwingfly    時間: 2014-1-28 23:44
原生5.0無修改的 vold.fatab 才會發生有些存到SD卡,有些存到內置100MB中

我修改後的檔案:
## Vold 2.0 Generic fstab
## - San Mehat (san@android.com)
##

#######################
## Regular device mount
##
## Format: dev_mount <label> <mount_point> <part> <sysfs_path1...>
## label        - Label for the volume
## mount_point  - Where the volume will be mounted
## part         - Partition # (1 based), or 'auto' for first usable partition.
## <sysfs_path> - List of sysfs paths to source devices
######################

## Example of a standard sdcard mount for the emulator / Dream
# Mounts the first usable partition of the specified device
#dev_mount sdcard /storage/sdcard1 emmc@fat /devices/platform/goldfish_mmc.0 /devices/platform/mtk-msdc.0/mmc_host
dev_mount sdcard2 /storage/sdcard1 auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-msdc.1/mmc_host
## Example of a dual card setup
# dev_mount left_sdcard  /mnt/sdcard1  auto /devices/platform/goldfish_mmc.0 /devices/platform/mtk-sd.0/mmc_host/mmc0
# dev_mount right_sdcard /mnt/sdcard2  auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-sd.2/mmc_host/mmc2

## Example of specifying a specific partition for mounts
# dev_mount sdcard /mnt/sdcard 2 /devices/platform/goldfish_mmc.0 /devices/platform/msm_sdcc.2/mmc_host/mmc1

# usb otg disk
dev_mount usbotg /mnt/usbotg auto /devices/platform/mt_usb /devices/platform/musbfsh_hdrc

是強制將SD卡定義成內置記憶體,且儲存裝置變成只有一種,讓原本指定在SD卡儲存紀錄的程式只能選擇存在一個地方

若是遇到儲存條件是辨識裝置類型的應用程式,如強制只能存在叫"SD卡裝置",就無解了....
如聯絡人匯出成Vcard功能就只能強制匯出到SD卡,但我SD卡已經定義成內置記憶體了


作者: 鸚鵡    時間: 2014-1-29 00:57
本帖最後由 鸚鵡 於 2014-1-29 01:00 編輯
moindwingfly 發表於 2014-1-28 23:44
原生5.0無修改的 vold.fatab 才會發生有些存到SD卡,有些存到內置100MB中

我修改後的檔案:

我沒有紅米機幫你測試

原廠的5.0是
  1. dev_mount sdcard /storage/sdcard1 emmc@fat /devices/platform/goldfish_mmc.0 /devices/platform/mtk-msdc.0/mmc_host
  2. dev_mount sdcard2 /storage/sdcard0 auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-msdc.1/mmc_host
複製代碼
我建議你修改成
  1. #dev_mount sdcard /storage/sdcard1 emmc@fat /devices/platform/goldfish_mmc.0 /devices/platform/mtk-msdc.0/mmc_host
  2. dev_mount sdcard2 /storage/sdcard0 auto /devices/platform/goldfish_mmc.1 /devices/platform/mtk-msdc.1/mmc_host
複製代碼
也就是跟 凱366 的方式一樣
他是直接遮蔽掉 800M內建的
我則是建議妳把 剩下的這 100M 遮蔽掉

先這樣測試看看,還有問題的話再跟我說
再教你修改系統 系統啟動的程序,應該就可以徹底解決
作者: 鸚鵡    時間: 2014-1-29 01:07
moindwingfly 發表於 2014-1-28 23:44
原生5.0無修改的 vold.fatab 才會發生有些存到SD卡,有些存到內置100MB中

我修改後的檔案:

因為 通常 /storage/sdcard0 會是優先寫入的
你遮蔽掉內建的空間,卻又把 SD卡 改成 /storage/sdcard1

自然有些程式就會不OK
作者: moindwingfly    時間: 2014-1-29 02:00
鸚鵡 發表於 2014-1-29 00:57
我沒有紅米機幫你測試

原廠的5.0是我建議你修改成也就是跟 凱366 的方式一樣

這樣的寫法我也改過,這麼寫的話也是有些程式會無法儲存。我遇到的有:

fancy widgets 備份功能會直接跳出偵測不到記憶卡
鈦備份6.1.4.3 無法開啟
全民打棒球無法執行
作者: 鸚鵡    時間: 2014-1-29 02:25
moindwingfly 發表於 2014-1-29 02:00
這樣的寫法我也改過,這麼寫的話也是有些程式會無法儲存。我遇到的有:

fancy widgets 備份功能會直接跳 ...

OK

你使用過 ADB 嗎?
沒的話,我一併把檔案給你

明天我先給您一個 BAT 檔案
會對您的系統進行修改,達成以下的效果
每次開機自動在系統上建立一個連結
讓 /storage/sdcard1 實際上對應到 /storage/sdcard0
藉此讓寫入到 sdcard1 的檔案實際上也是寫入到 sdcard0
也就是儲存到擴充的記憶卡上

屆時您在測試看看
作者: moindwingfly    時間: 2014-1-29 08:13
我沒使用過ADB,麻煩您了。

滿好奇為甚麼是每次開機建立一個連結而不是建立一個連結然後一直都可以用XDD
作者: 鸚鵡    時間: 2014-1-29 16:34
本帖最後由 鸚鵡 於 2014-1-29 17:43 編輯
moindwingfly 發表於 2014-1-29 08:13
我沒使用過ADB,麻煩您了。

滿好奇為甚麼是每次開機建立一個連結而不是建立一個連結然後一直都可以用XDD ...

請先看一下 下面這篇教學的 第 6~9 步驟
http://mi.ezbox.idv.tw/thread-352-1-2.html

附加檔案 解壓縮後 有兩個 BAT檔案
一個是安裝 一個是測試

您先跑測試,跑玩就可以測試APP是否正常

如果可以解決,在執行 安裝 那一個
以後重開機就會自動建立連結
/system/etc 裡面會有一個 install-recovery.sh.bakOrig 檔案
這是 install-recovery.sh 的原始備份檔


至於您好奇 為什麼要每次開機建立 而不是建立一次就好
跟您解說一下,但是我沒有詳細了解 Android 開機的處理程序和相關動作
僅用自己的經驗做出這樣的判斷

原因是 /storage 這個目錄 是每次開機時被建立,裡面掛載目錄也都是開機時完成建立和掛載
所以裡面的連結就變成也要每次開機都要建立一次




作者: moindwingfly    時間: 2014-1-29 17:40
鸚鵡 發表於 2014-1-29 16:34
請先看一下 下面這篇教學的 第 6~9 步驟

附加檔案 解壓縮後 有兩個 BAT檔案

我檔案可以下載,可是沒有看到教學的連結耶
作者: 鸚鵡    時間: 2014-1-29 17:43
moindwingfly 發表於 2014-1-29 17:40
我檔案可以下載,可是沒有看到教學的連結耶

http://mi.ezbox.idv.tw/thread-352-1-2.html
這邊 抱歉抱歉
作者: 凱366    時間: 2014-1-29 17:49
鸚鵡 發表於 2014-1-29 16:34
請先看一下 下面這篇教學的 第 6~9 步驟
http://mi.ezbox.idv.tw/thread-352-1-2.html

這是直接蓋掉800m嗎?
意思是只剩 sd卡容量,讓app及檔案全裝在 sd卡內嗎?
如果是的話,那我想試試。

作者: 鸚鵡    時間: 2014-1-29 17:56
凱366 發表於 2014-1-29 17:49
這是直接蓋掉800m嗎?
意思是只剩 sd卡容量,讓app及檔案全裝在 sd卡內嗎?
如果是的話,那我想試試。

這跟你那篇 內置儲存和SD互換 並遮蔽800M 有關連

5.0的 ROM 已經內建置換,加上遮蔽 內置儲存後

/storage/sdcard1 通常是代表 SD卡 有些APP會預設直接寫到這邊
但是因為已經置換過,就造成沒辦法動作


你要試試看可以,但是要確定 sdcard2 是掛載到 /storage/sdcard0
並且遮蔽掉內置空間

補充:http://mi.ezbox.idv.tw/forum.php ... d=530&pid=14708
作者: moindwingfly    時間: 2014-1-29 18:36
鸚鵡 發表於 2014-1-29 17:43
http://mi.ezbox.idv.tw/thread-352-1-2.html
這邊 抱歉抱歉

我點下安裝.bat之後手機並沒有觸發USB偵錯(當然開發人員那邊有開啟)
cmd顯示error: device not found

先前用刷機大師ROOT時確實可以觸發USB偵錯

是少了甚麼東西??
作者: moindwingfly    時間: 2014-1-29 20:06
鸚鵡 發表於 2014-1-29 17:56
這跟你那篇 內置儲存和SD互換 並遮蔽800M 有關連

5.0的 ROM 已經內建置換,加上遮蔽 內置儲存後

剛剛用碗豆莢去觸發USB偵錯,指令也寫進去了

測試結果應用程式仍然無法正常執行
像是fancy widgets是直接顯示"偵測不到SD卡"

我開Link2SD的儲存裝置資訊的功能  SD卡那欄是標示error

或許將sdcard2 掛載到 /storage/sdcard0並遮蔽內置空間會造成程式判別沒有SD卡

程式優先偵測到沒有裝置之後便自動停止儲存動作,因此僅修改連結路徑似乎沒用
作者: 鸚鵡    時間: 2014-1-29 22:12
moindwingfly 發表於 2014-1-29 20:06
剛剛用碗豆莢去觸發USB偵錯,指令也寫進去了

測試結果應用程式仍然無法正常執行

不好意思,忘記提醒你要先開啟USB偵錯

現階段 是判斷SD卡的部份 用我提供的方式不是正確的解決方法

手上沒有手機我也沒辦法幫忙實際測試
因為實際測試的話,我就可以比較快找到造成的原因
也提供解決辦法
作者: moindwingfly    時間: 2014-1-29 22:33
鸚鵡 發表於 2014-1-29 22:12
不好意思,忘記提醒你要先開啟USB偵錯

現階段 是判斷SD卡的部份 用我提供的方式不是正確的解決方法

謝謝大大的熱心,非常感激!!!

剛在執行ADB時,為什麼我已經有開USB偵錯了,
可是執行"測試.bat" 電腦是沒有抓到裝置,手機也沒有出現允許電腦連結的序號通知(ADB有抓到裝置CMD會出現裝置序號),因此我才拿碗豆莢去觸發裝置與電腦的連接。

但看大大提供的網頁http://mi.ezbox.idv.tw/thread-352-1-2.html
教學裡面似乎直接執行bat檔案就可以讓adb正常抓到裝置的說,是我的電腦少裝什麼嗎?
作者: 鸚鵡    時間: 2014-1-29 23:03
moindwingfly 發表於 2014-1-29 22:33
謝謝大大的熱心,非常感激!!!

剛在執行ADB時,為什麼我已經有開USB偵錯了,

驅動程式應該也有裝起來呀

已經授權過得 就不會再出現囉
只要您點過 記住這台電腦 之類的那個勾勾

所以不是您電腦的問題
另外,解壓縮後的 adb 目錄 就是 adb 工具
這個您可以保留起來,將來有看到什麼文章要您自己下指令
都可以透過這個工具

至於您的問題,過年期間 我在上網爬文看看有沒有相關資料
也不要跟我那麼客氣
協助你處理問題 一方面也是幫助我自己學習更多的知識
作者: moindwingfly    時間: 2014-1-29 23:31
鸚鵡 發表於 2014-1-29 23:03
驅動程式應該也有裝起來呀

已經授權過得 就不會再出現囉

可是我從都沒有打過記住這台電腦的勾勾耶,因為我想當作手機偵錯連上電腦的提醒。

所以一開始執行bat當下ADB確實是沒有與我電腦的連結到,因此也不會觸發允許通知,但碗豆夾卻可以,
覺得很奇怪是不是要晚豆莢有安裝手機識別或是驅動之類的才可以正常連結裝置
作者: 鸚鵡    時間: 2014-1-29 23:37
moindwingfly 發表於 2014-1-29 23:31
可是我從都沒有打過記住這台電腦的勾勾耶,因為我想當作手機偵錯連上電腦的提醒。

所以一開始執行bat當 ...

使用前 至少要安裝驅動程式

小米手機助手 要可以正確的判定您的手機有連線
並且開啟「開發人員選項」,也就是系統設定中要看得到
而且也要開啟 USB偵錯

拍謝 這個我忘記跟您先提 0.0

作者: 鸚鵡    時間: 2014-2-4 00:07
moindwingfly 發表於 2014-1-29 23:31
可是我從都沒有打過記住這台電腦的勾勾耶,因為我想當作手機偵錯連上電腦的提醒。

所以一開始執行bat當 ...

http://www.mobile01.com/topicdet ... 0&last=48491739

哈囉 我翻到這篇文章
情況跟您蠻相近的

可以參考看看 ︿︿

再請您告知處理的結果
作者: moindwingfly    時間: 2014-2-4 15:38
鸚鵡 發表於 2014-2-4 00:07
http://www.mobile01.com/topicdetail.php?f=634&t=3735779&m=s&s=20&last=48491739

哈囉 我翻到這篇文 ...

謝謝大大過年期間還那麼熱心的幫我解決問題
剛剛我試過用foldermount連結sdcard之後系統確實可以將sdcard0辨識到sd卡上面,聯絡人匯出也可以運作了
作者: 鸚鵡    時間: 2014-2-5 18:52
moindwingfly 發表於 2014-2-4 15:38
謝謝大大過年期間還那麼熱心的幫我解決問題
剛剛我試過用foldermount連結sdcard之後系統確實可以將sdcard ...

沒機器 不然我就可以看一下這個 APP 到底 實做什麼動作

改成系統處理 就可以少一個開機啟動的 APP了 @@


標題我幫您修改一下唷
作者: 鸚鵡    時間: 2014-2-6 17:33
凱366 發表於 2014-1-29 17:49
這是直接蓋掉800m嗎?
意思是只剩 sd卡容量,讓app及檔案全裝在 sd卡內嗎?
如果是的話,那我想試試。

我手上剛拿到一隻紅米

現在推薦那一個 ROM?
目前已刷5.0 + ROM

這隻可以借我玩幾天
我打算把 800M 合併掉 然後來研究對應的部份
搞清楚就是我的了 然後改系統啟動程序去完成
就可以省掉一個APP了

你有興趣嗎?
作者: 凱366    時間: 2014-2-6 17:43
鸚鵡 發表於 2014-2-6 17:33
我手上剛拿到一隻紅米

現在推薦那一個 ROM?

我是刷 哈利的 4.1.23g  那個有紅米性能模式~不過後來我也有找到其他性能模式
4.1.23g 我兒子用是還好~哈利有精簡掉一些..後來哈利又有自製幾個 rom  我就沒試了

真好~可以擁有紅米了你  
作者: 鸚鵡    時間: 2014-2-6 18:11
凱366 發表於 2014-2-6 17:43
我是刷 哈利的 4.1.23g  那個有紅米性能模式~不過後來我也有找到其他性能模式
4.1.23g 我兒子用是還好~哈 ...

玩幾天就要還人了 0.0
作者: 凱366    時間: 2014-2-6 18:14
鸚鵡 發表於 2014-2-6 18:11
玩幾天就要還人了 0.0

其實我真正想刷的是 3.11.29 ..再補性能模式  .. 內外置再改 3g  ...其他 bug我都可以接受
不過也要精簡掉陸版app

作者: 鸚鵡    時間: 2014-2-7 02:32
moindwingfly 發表於 2014-2-4 15:38
謝謝大大過年期間還那麼熱心的幫我解決問題
剛剛我試過用foldermount連結sdcard之後系統確實可以將sdcard ...

喔摟摟~~

原來 android 的 mount 也支援 bind 耶

我應該就會改成修改開機程序 一併處理 省掉一個 app
作者: 鸚鵡    時間: 2014-2-7 02:38
moindwingfly 發表於 2014-1-29 20:06
剛剛用碗豆莢去觸發USB偵錯,指令也寫進去了

測試結果應用程式仍然無法正常執行

另外 我剛剛測試了

遮蔽內建儲存空間
再把 SD卡 掛載成內部儲存空間 (手機儲存)

之後在安裝 Fancy Widgets 是可以正常執行的
應該是APP在安裝後第一次啟動時 就已經判斷 可以寫入的位置

所以 您是不是如我所說 安裝後才做遮蔽的動作
然後造成了錯誤訊息?
作者: moindwingfly    時間: 2014-2-7 13:36
本帖最後由 moindwingfly 於 2014-2-7 13:46 編輯
鸚鵡 發表於 2014-2-7 02:38
另外 我剛剛測試了

遮蔽內建儲存空間

你試試看裡面的備份設定,應該是會顯示偵測不到sd卡,
另外,使用foldermount之後用usb連線電腦,
在讀卡機模式下增減sd卡裡的檔案後重新連接回android,
用檔案管理器看sd卡內容會是連線前的內容,
例如我在手機連結電腦後往sd卡丟了一個123.apk的檔案,但我斷開usb開啓es檔案瀏覽器,在sd卡內找不到剛剛丟的檔案,無論怎麼刷新,最後需重新開機才看的到。
但關掉foldermount做上述的動作就沒問題。
作者: 鸚鵡    時間: 2014-2-7 13:39
moindwingfly 發表於 2014-2-7 13:36
你試試看裡面的備份設定,應該是會顯示偵測不到sd卡,
另外,使用foldermount之後用電腦usb連線,在sd卡 ...

我是裝 Google Play 上的版本
這各有備份功能嗎?
作者: moindwingfly    時間: 2014-2-7 13:53
鸚鵡 發表於 2014-2-7 13:39
我是裝 Google Play 上的版本
這各有備份功能嗎?

剛剛看了,免費的沒有耶,我找找有沒有破解資源
作者: 鸚鵡    時間: 2014-2-7 14:37
moindwingfly 發表於 2014-2-7 13:53
剛剛看了,免費的沒有耶,我找找有沒有破解資源

不用麻煩 我剛剛在我電腦找到哩 XD

我來試試看
作者: 鸚鵡    時間: 2014-2-7 14:50
moindwingfly 發表於 2014-2-7 13:36
你試試看裡面的備份設定,應該是會顯示偵測不到sd卡,
另外,使用foldermount之後用usb連線電腦,
在讀卡 ...

我剛剛測試了 遮蔽原本的 手機儲存 (800M)

裝上 SD 卡,修改 sdcard2 掛載到 /storage/sdcard1
開機後 SD卡 無掛載,手機儲存容量是 SD卡的容量

安裝 Fancy Widgets 付費版,備份 功能正常
鈦備份 功能正常

您的問題 應該是我上面說的情況:APP 已經已先判定寫入的路徑
所以你可以先移除 FolderMount
然後把有問題的APP重新做一次安裝動作 應該就會都正常了
@@
作者: moindwingfly    時間: 2014-2-7 15:04
鸚鵡 發表於 2014-2-7 14:50
我剛剛測試了 遮蔽原本的 手機儲存 (800M)

裝上 SD 卡,修改 sdcard2 掛載到 /storage/sdcard1

sdcard指定到sdcard1是可以的喔
有問題的是sdcard指定成sdcard0 fancy widgets才有問題
另外,將sdcard指定成sdcard1會出現問題的軟體有,全民打棒球,聯絡人匯出vcard檔,不過用了foldermount就好了
現在fildermount會出現的新問題是連結電腦作業完後後,手機會抓不到剛剛用電腦放進去sd卡的檔案
作者: 凱366    時間: 2014-2-7 15:22
其實 5.0 ...官方是說要將 app 重裝一遍...
作者: 鸚鵡    時間: 2014-2-7 15:46
本帖最後由 鸚鵡 於 2014-2-9 13:28 編輯
凱366 發表於 2014-2-7 15:22
其實 5.0 ...官方是說要將 app 重裝一遍...

@moindwingfly

確實,多數的APP 只要重新安裝即可

我剛剛測試聯絡人匯出,確實是強制寫到 SD 卡
所以 如果把 SD卡掛載成 內部儲存 就沒辦法備份

至於檔案的問題 我來試試看
作者: 鸚鵡    時間: 2014-2-9 13:30
moindwingfly 發表於 2014-2-7 13:53
剛剛看了,免費的沒有耶,我找找有沒有破解資源

哈囉 我請問一下

你用 foldermount 來掛載之後
有沒有發生 相簿 裡面的照片同一張出現兩次 看詳細資料室兩個不同路徑??
作者: moindwingfly    時間: 2014-2-9 23:26
我有出現過,在foldermount設定偵測資料夾中有選項可以防止,不過我還沒有很注意效用如何
作者: flyseed01    時間: 2014-2-13 03:09
可以請問大大 我的line pokopang 只要裝上sd卡就會閃退 且重裝也沒用
該怎麼解決




歡迎光臨 米柚愛好者論壇 (https://mi.ezbox.idv.tw/) Powered by Discuz! X2.5