上周六在網路上買了ASUS ZenPad 10 Z300M,掛載的是Android 6.0(Marshmallow,棉花糖),網路上賣的都是容量16G的版本,找不到更高容量,因為Android 6.0已經能把外掛的MicroSD卡格式化為內部儲存空間,讓系統容量得以擴充,因此我同時也加買了一片64G的Class 10的MicroSDXC卡。
人算不如天算的是ASUS竟然把這個擴充容量功能給關掉了!透過線上客服得到的理由是因為大部份應用程式尚未支援內部儲存空間,導致系統不穩定,因此暫不開啟此功能,至於何時能啟用則是不知-無預訂開放時間表。既然官方不開放,只好自力救濟了。
由設定進行格式化之操作
首先由Make sd card become internal storage Android 6.0.1 How To :-ZE551KL(Laser)查到啟用內部儲存空間(Internal Storage)的作法:
- 讓平板進入開發者模式:設定→【關於】→【軟體資訊】→在【版本號碼】上連按7下,就能在設定裡看到【開發人員選項】。開啟【開發人員選項】裡的【USB 偵錯】。
- 由此處下載 adb。adb是Android Debug Bridge的縮寫。將下載的檔案解壓縮,接著以其內的adb.exe繼續處理。
- 將平板連上電腦,當平板上出現【允許 USB 偵錯嗎?】時按【確認】,出現【是否使用USB進行檔案傳輸?】時選取消。
- 執行cmd.exe進入命令提示字元(DOS視窗),執行下列sm指令(sm是Storage Manager的縮寫):
D:\adb-tools>d: D:\adb-tools>cd \Adb-tools D:\adb-tools>adb shell shell@P00C:/ $ sm set-force-adoptable true shell@P00C:/ $ exit
5.再進入設定→【儲存空間與USB】→【SD 卡】時,會多出【進行格式化,設為內部儲存空間】選項
如果先前SD卡已經格式化為可攜式儲存空間,則可按其右上角的設定來選用上述選項。
▼ 格式化時的畫面。在20%的地方停很久,然後直接報錯…
用adb.exe操作
可惜我用了上面步驟仍無法順利將SD卡變更為內部儲存空間,畫面停在正在格式化「SD卡」…20%的地方約3分鐘後就出現SD卡無法清除的錯誤訊息而結束。
再搜尋到Here’s how to configure adoptable storage on your S7 / S7 Edge – News – MoDaCo的作法後,又再開始嘗試:
在命令提示字元下進入adb shell。重點說明如下:
- 用sm列出sm的所有可以使用的選項
- 用sm list-disks 找出平板SD卡的磁碟ID,列出的ID是 disk:179,128
- 用sm list-volumes all列出此SD卡裡的所有Volume,其中public:179,129是格式為可攜式儲存空間的Volume ID
- 用sm partition disk:179,128 private將SD卡變更為內部儲存空間(其Volume ID會以private開頭)
- 不管有沒有出現錯誤訊息,在shell@P00C:/ $ 又出現後,以 reboot 重新開機
d:\adb-tools>adb shell shell@P00C:/ $ sm usage: sm list-disks [adoptable] sm list-volumes [public|private|emulated|all] sm has-adoptable sm get-primary-storage-uuid sm set-force-adoptable [true|false] sm partition DISK [public|private|mixed] [ratio] sm mount VOLUME sm unmount VOLUME sm format VOLUME sm benchmark VOLUME sm forget [UUID|all] Error: java.lang.IllegalArgumentException 1|shell@P00C:/ $ sm list-disks disk:179,128 shell@P00C:/ $ sm list-volumes private mounted null public:179,129 mounted 971A-B747 emulated mounted null shell@P00C:/ $ shell@P00C:/ $ sm partition disk:179,128 private shell@P00C:/ $ reboot
目前sm partition操作很不穩定,經常會出現** java.util.concurrent.TimeoutException: Thread Binder_B gave up waiting for partitionPrivate after 180000ms** 之類的錯誤訊息,重開機後若SD卡顯示的是SD卡已毀損或不支援,那麼再將SD卡格式化為可攜式儲存空間後再用adb.exe重新執行一次,有時突然就成功(重新試了幾次,仍無法抓到成功的原因….)。
測試過程中發現似乎用混合模式比較容易成功,如 sm partition disk:179,128 mixed 50 就是可攜式儲存空間佔50%,內部儲存空間佔50%。private volume後面要有加密字串才是成功的狀態:
shell@P00C:/ $ sm list-volumes all emulated:179,131 unmounted null private:179,131 mounted fd277727-60a3-4655-9795-f77f6d5e8a7b private mounted null public:179,129 mounted 6D63-1203 emulated mounted null
變更App的儲存空間
-
進入某個App的應用程式資訊畫面。
-
輕觸【儲存空間】,再輕觸【變更】。
-
再選擇要存放的位置。
##
您可能也會有興趣的類似文章
- ASUS釋出 ZenFone 2的官方版解鎖工具 (0則留言, 2015/10/15)
- 初試ASUS ZenFone 2與ZenUI的幾個小技巧 (0則留言, 2015/06/18)
- [Android Studio #3] 使用Android Asset Studio產生圖示檔與@+id與@id之差異 (0則留言, 2013/10/07)
- Android Studio的安裝、設定與執行 (4則留言, 2013/10/03)
- [Android Studio #2] 操作資源XML檔 (0則留言, 2013/10/03)
- Android Studio無法在Ubuntu 64位元環境執行的解決方法 (0則留言, 2013/11/03)
- Nexus 7最推薦10大工作用Apps 十之三:任務管理 Astrid To-do與DGT GTD & To-do List (0則留言, 2012/12/08)
- Android快速啟動器SwipePad、Smart Taskbar、GMD GestureControl評比 (0則留言, 2012/08/25)
- 快速執行Android 4常用程式的幾個小方法 (3則留言, 2012/08/16)
- Google Nexus 7平板電腦的root步驟 (20則留言, 2012/09/16)
- Google Nexus 7/Android 4.1新手入門技巧 V1.2.2 (7則留言, 2012/09/19)
- [Android Studio #9] 無法執行x86模擬器的處理步驟 (2則留言, 2015/04/20)
- 深入淺出的Android設備root步驟,讓你成為手機與平板的真正主人-以Galaxy S3與Nexus 7為例 (29則留言, 2012/12/11)
- Android手機雲端備份實戰 (0則留言, 2014/01/29)
- Genymotion Emulator:x86架構最快速的Android模擬器,加快Android程式開發 (2則留言, 2013/11/16)