[Android] 免Root!空間不足救急法,增加手機內部可用的記憶體容量

   

當初在購買HTC Desire手機時,沒有特別注意到它使用空間不多的問題,所以導致現在裝了一些軟體之後,常常就跑出空間不足的警告訊息,因此網路上也就出現了許多的解決方法,通常Root + 燒ROM可能是比較多人討論的,不過因為手機還在保固內,若不想因Root而失去保固的話,只能先用下面的方法來救急,變更安裝路徑來節省空間,講明一點就是把應用程式的安裝目錄改到SD中,儘量減少手機空間的浪費。

更新

本文是以下指令的方法達成,嫌太麻煩嗎?有更容易的方法,請參考下文:[Android] 應用程式安裝程式 § 免指令、免Root,解除APP2SD的限制

說在前面

有時候安裝的軟體並無法使用APP2SD正點工具箱這類的工具將它移到SD卡上(因為也需要軟體本身的配合),不過本文的方法就可以做一些「改善」,強制開啟APP2SD的功能,既然只說改善,表示並非每一個應用程式都可以移到SD卡的,但清出一些空間出來是沒問題的。

   

操作教學

  1. 先確認電腦已經有安裝了「HTC Sync」軟體、以及Android SDK。關於SDK直接使用免安裝版的也行,我個人就是使用之前我分享出來的「Android SDK免安裝版」。或參考這一篇說明。
  2. 將手機設定成除錯模式:若以HTC Desire為例,請到「設定」→「應用程式」→「開發」→將「USB除錯中」的選項勾起

  3. 將手機接上USB與電腦連線,並使用CMD進入DOS模式,接著進入「tools」的目錄後輸入「adb devices」,如果有看到下圖類似紫色部分的訊息,代表已經連線成功。註:圖中黃色部分為指令,請各位自行參考

    J458_01 android space

  4. 輸入「adb shell pm setInstallLocation 2」就OK囉!最後一個數字「2」是代表將安裝位置設到SD卡中,而數字「1」則是強制安裝到手機上,「0」則是由APP自動決定是否可安裝到SD卡,因此,若要恢復預設值的話,只要同樣的步驟輸入「adb shell pm setInstallLocation 0」即可

    J458_02 android space

  5. 最後重新開機後就大功告成了,舉個實例,原本「Camera360」是無法移到SD卡的,經由上面的步驟後,進入系統的應用程式資訊就可以看到「移至SD卡」已經可以使用了。
    特別說明:在變更安裝路徑後,由左下圖發現在正點工具箱中,Camera360仍是屬於不可移動的APP,但只要從系統的「應用程式」→「管理應用程式」中觀看,就可以看到移至SD卡的選項了(右下圖)。

    J458_03 android space J458_04 android space

延伸閱讀:
[Android] 應用程式安裝程式 § 免指令、免Root,解除APP2SD的限制
[Android] 如何使用Android SDK來擷取手機上的畫面
如何設置HTC Desire桌布的大小、解析度
[Android] HTC Desire 手機鈴聲目錄設定(電話、鬧鐘、簡訊等鈴聲)

  • Nero Hung

    您好,我的是LG的L9,照著方法做後,反而會導致應用程式無法正常安裝,顯示儲存空間不足,但記憶卡內空間確認還很足夠,這是手機韌體的問題嗎?

    • http://www.jinnsblog.com/ 魏子靖

      很有可能,各品牌的手機都有些微的不同

  • 李承桓

    我的手機設定了之後軟體還是不會自動安裝到SD卡
    需要手動從設定裡面移動,
    請問是哪邊出了問題?我的手機是HTC Explorer
    在執行adb指令時沒有錯誤訊息

  • 黃文聖

    SDK不太會灌
    是不是很複雜
    HTC只能這樣操作嗎?

    • http://www.jinnsblog.com/ 魏子靖

      下載文中的SDK免安裝版,應該就行了
      這指令是Android平台的,所以不限是HTC

      • 黃文聖

        是電腦下載還是手機下載?

        • 黃文聖

          將手機接上USB與電腦連線,並使用CMD進入DOS模式,接著進入「tools」的目錄後輸入「adb devices」,如果有看到下圖類似紫色部分的訊息,代表已經連線成功。註:圖中黃色部分為指令,請各位自行參考

          文中這步動作怎麼進行?

        • http://www.jinnsblog.com/ 魏子靖

          電腦

          • 黃文聖

            將手機接上USB與電腦連線,並使用CMD進入DOS模式,接著進入「tools」的目錄後輸入「adb devices」,
            文中這步動作怎麼進行?

          • http://www.jinnsblog.com/ 魏子靖

            會DOS指令嗎?進入tools,要打cd tools,然後按enter,再輸入adb devices再按enter,以此類推

          • 黃文聖

            進入tools是什麼意思?

  • 王奕勛

    你好 我的手機是HTC Desire600 因為常常顯示內存空間不足 而且安卓版本又是4.1.2版本 無法把app移到sd卡 那就失去我買SD卡的本意了 在你這幾篇文章中學習到很多 也自己跟著妳的步驟一步一步做 我的疑問是 我從新開機以後 沒有把APP移到SD卡的按鈕 如果不行 還有其他辦法嗎 懇求幫助

    • http://www.jinnsblog.com/ 魏子靖

      無法將app移到SD通常是APP不支援,如果上面的方法不行,那麼就能ROOT後試試或者清出一點空間囉

  • 張祐綾

    你好,我的手機是HTC ONE SV的,照著板大的方法做到最後一步,卻出現Error:unknown command ‘setInstallLocation’,請問該怎麼辦呢?
    我爬文可是大家好像都沒有出現類似這樣的情況,想請問有沒有辦法解決呢><
    謝謝你 :D

    • http://www.jinnsblog.com/ 魏子靖

      請參考這邊的說明:http://goo.gl/1p7aOf

      • 張祐綾

        感謝板大分享!!
        已經成功了,真的太感動了,非常謝謝你><

      • Hong Wu

        板大您好 我的手機也是one sv
        已經 root + s-off 了
        也已經按照上面的流程做也成功了
        但怎麼還是不能將APP移動到16G記憶卡呢?

  • 施岳甫

    你好請問,我在下載Android SDK 後他會出現
    Windows無法開啟這個檔案,他會問你要手動打開還是進去瀏覽器?
    要選哪一個?如果是手動要選哪個程式?

    • http://www.jinnsblog.com/ 魏子靖

      這是7-zip的壓縮檔,用Winrar或7-Zip解壓就行了

      • 施岳甫

        所以是手動電腦裡本身就有的程式?

  • Carl Joseph

    如果手機沒有專用的driver 連接成功(list of devices attached)但沒抓到機子 最後的步驟卡死 求解

  • Guest

    @jinnsblog:disqus大大 如果手機沒有專用的driver 連接成功(list of devices attached)但沒抓到機子 最後的步驟卡死 求解

  • Carl Joseph

    @jinnsblog:disqus 大大 如果手機沒有專用的driver 連接成功(list of devices attached)但沒抓到機子 最後的步驟卡死 求解 有沒有辦法能夠讓他找到?

    • http://www.jinnsblog.com/ 魏子靖

      建議你可以安裝應用寶,他會自動去找手機的Driver:http://goo.gl/WKcztd

      • Carl Joseph

        他跟我說offline..

        • http://www.jinnsblog.com/ 魏子靖

          應用寶有幫你安裝Driver嗎

          • Carl Joseph

            沒有..

          • http://www.jinnsblog.com/ 魏子靖

            你再試試,他會有連線到server幫你尋找driver的訊息,如果沒有就是找不到了,另外,它會在你的手機上安裝一個client端的app,所以你的手機上還需要有一點點的小空間才行

  • WingYin Tang

    應該是 adb shell pm set-install-location 2

  • disqus_SXzjSk7qq7

    你好,我手機是HTC ONE SV,依照板主的方法做到最後一步,卻出現Error:unknown command ‘setInstallLocation’,請問要怎麼解決呢?
    我爬文過版主貼的http://goo.gl/1p7aOf此篇 但依然是…"Error:unknown command………"

  • 魔鬼終結者

    請問一下什麼是手機的Driver ? 要怎麼安裝?

    • http://www.jinnsblog.com/ 魏子靖

      Driver就是驅動程式,比較方便的方法是安裝應用寶:http://goo.gl/WKcztd

  • Rolly

    w7的檔案路徑怎麼找?我不會第三步驟~那些黃字怎麼找?

    • http://www.jinnsblog.com/ 魏子靖

      黃色是自己要輸入的指令