强制程式安装至 SD Card

Android 2.2 内 App2SD 这个功能可以将 App 安装至 SD Card 内,但这个功能需要 App 本身在编译中标明有关设定才可使用,所以不是所有 App 都可以移至 SD Card。

其实可以透过修改手机内的设定,强制开启程式中的 App2SD 设定,可以将 App 移至 SD Card。

留意手机必需是 Android 2.2 Froyo 或以上,本身具备 App2SD 功能,才可使用用这个 “强制安装SD Card” 方法。

不要用在 Widget 和 输入法
这个强制方式,不用 Root 机。而且适用于大部程式,但仍有小部未能强制开启,例如:PayPal App。另外,Widget 和 输入法不建议 App2SD,因可能会导致不能操作。

过程十分简单,并不复杂
============================
*** 新版本 SDK 内的资料夹位置有所变迁,所以程序亦有所变更 ***

1. 开启手机内 USB 侦错模式
在手机 Home 画面,按[Menu]键 > 设定 > 应用程式 > 开发,勾选 USB 侦错。

USB Debug Mode 侦错模式

2. 下载 Android SDK
在电脑,到 http://developer.android.com/sdk/index.html 下载 Android SDK,选择下载 exe 。

下载 Android SDK

3. 安装 SDK
根据安装精灵,依照指示安装就可以,不用作特别的设定。
最后完成时,选择启动 Start SDK Manager,按[Finish]。

4. 执行 SDK Manager
开启 SDK Manager, 它会列出一列 package 让你 install
只需勾选第一个 “Android SDK Platform-tools, revision….”
其他全部转为 “X” 不用安装,跟着按 Install 进行安装。
SDK Manager
完成后就关闭视窗便可

5. USB 连接手机
用 USB 线连接手机至电脑

6. 开启 Command Prompt
在电脑,开启 Command Prompt
(就是按 Windows 的[开始]> [执行]> cmd.exe 按[Enter]键)

7. 转换至 Android SDK Folder(看下图)
在 Command Prompt 内转至 Android SDK 所安装的 Folder。
就是在安装过程中,所选择的安装位置。

8. 再转至子资料夹 platform-tools

ADB Shell

9. 跟着输入
adb shell pm setInstallLocation 2
按[Enter]键。

10. 完成。可以拔 USB 线。
============================
你可以去 App 再试 App2SD,一些原本不可以 App2SD 的程式,现在也可以 App2SD。

回复原本设定
若你发觉有不妥,要将手机回复原本设定,只要再做一次整个步骤。
在 Step 9 改为执行下列指令便可
adb shell pm setInstallLocation 0

2 – 代表 SD Card
0 – 代表 手机 Internal Storage

在〈强制程式安装至 SD Card〉中有 116 则留言

  1. it says ” ‘adb’ is not recognized as an internal or extermal command, operable program or batch file.

    what should i do!?:?!?!??!?!

  2. Sorry! 原来新版本 SDK 内的资料夹架构改动了.
    新版本下, 你需要安装SDK.

    我们修改了文章, 你可以跟着做.

  3. sry!

    I typed in cd “Android\android-sdk-windows”

    it shows up ” The system cannot find the path specified”!!

    but i am sure i install the SDK under the right folder….

    what should i do again?

    so frustrated!!

  4. 你要确定你所安装的位置
    在上面的 screen capture示范, 我们的 SDK 是 安装在
    Android\android-sdk-windows

    所以就 change directory (cd),
    cd Android\android-sdk-windows

    安装 SDK 都是默认在 Program Files\Android\android-sdk-windows

    那就应该输入
    cd “Program Files\Android\android-sdk-windows”

    所以, 你要确定你的 SDK 安装在那里,跟着 change directory (cd) 至那一个资料夹.

  5. is there anyway i can contact u by email?

    i can send u some of the screen shots from my desk top…

    thanks a lot!

  6. Hi,

    When I complete step 9, an error screen return: “Device not found”.

    Can you help? What step I had missed?

  7. 各位, 又话音量+/-健可wake up个电话。我部N1不能的! 请教路!:D

  8. 关于音量 +/- 键 wakeup! 其实就是 Disable 了 N1 原先的 Screen Lock 功能.
    原有的 Screen Lock 限制了只可用 power 去 wake up.

    介绍三个 apps,
    NoLock 就是 disble 手机的 lock, 即是按什么键也会wake up手机
    https://market.android.com/details?id=org.jraf.android.nolock

    AnyUnlock (免费的), disable 原有的lock, 再用一版 日期时间防止误碰
    https://market.android.com/details?id=org.liberty.android.anyunlock

    WidgetLocker (要$的), 十分精美, 有不同类别的 lock screen 效果
    https://market.android.com/details?id=com.teslacoilsw.widgetlocker

  9. Installed N1 driver then re-try the whole process. It work now.

    Thanks for sharing!

    Hi Others,

    Pls reminded to type exact “adb shell pm setInstallLocation 2”.

  10. 我已经改为cd “Program Files\Android\android-sdk-windows” 可是第七步骤就一直说”系统找不到指定的路径。”

  11. > 系统找不到指定的路径
    就是指你输入的 path 有错误.
    你要确定 android-sdk-windows 的安装位置.
    你可以用 Windows Explore 找清楚 SDK 是安装在那里, 跟着就输入

    另外, 留意 Command 操作.
    一般开启 Command Prompt 都是在 C:\Users\XXXX>
    你现在就在 C:\Users\XXXX\ 的资料夹内

    你要回到 C:\ 就要打 cd\
    跟着再转至 cd “program files\……”

  12. 是否要先安装APP2SD先可以做以上的步骤???
    我是Motorola DEFY

  13. 留意手机必需是 Android 2.2 Froyo 或以上,本身具备 App2SD 功能,才可使用这个 “强制安装SD Card” 方法。

  14. 可以.

    只要是 android 2.2 或以上支援 app2sd 的, 都可以这样做.
    令更多 app 可以移至 sd card 内.

  15. 安装 SDK 后, 你要启动 SDK Manager 继续进行第四步.

    你可以开启 Windows 档案总管, 在 SDK 安装位置找到 SDK Manager,
    只要点按就可以启动 SDK Manager.

    跟着继续进行第四步.

  16. 我是用dell streak的,已升2.2,

    执行到最后一步:
    输入”adb shell pm setInstallLocation 2″
    按[Enter]

    之后出现了:
    “error: device not found”

  17. 你可以 Select from Product Model, 再选 Mobile Phone & Tablet, 之后, 在 Mobile Phone 可以找到 Venue 系列. 在 Tablet 可以找到 Streak 系列.

  18. 我部desire都搞掂,thx!真系好简单,最紧要在输入路径时check清楚程式安装在自己PC内的路径,我就和示范的有少少唔同。

  19. 对呀, 安装路径未必跟上面的图完全相同, 要做番相对应调整呢!

  20. 我的SDK一直无法安装
    他一直跑住要我安装JAVA
    也去安装了,但是依旧无法安装SDK
    请问这是为什么?

  21. 若之前的安装曾经失败, 有可能会有一些档案被安装, 但未有移除.
    这些档案有可能导致往后安装失败.

    在Java 相关旳安装中, 这个情况偶然也会出现的.
    你可以看看.

  22. 开启 Command Prompt 后, 可能会这样
    C:\Users\abcde>

    跟着, 你可以输入 cd\
    就会返回至 C: 的 根目录 Root Directory
    变成这样
    C:\>

    接着可以输入
    cd 你的Android SDK位置

    例如: 你的 SDK 安装在 android\android-sdk-windows\
    就输入
    cd android\android-sdk-windows\

  23. 我在最后无法完成都显示一堆the 下面0~~1~~~~2~~~怎ㄇ回事ㄋ

  24. 依照指示到最后出现以下:
    adb server is out of date. killing…..
    *daemon started successfully*
    error : device not found

    应怎办???

  25. Error Message 有两个问题,
    1. “adb server is out of date. killing”
    若果你有安装 DroidExplorer, 你可以在 Windows 工作管理员内将 DroidExplorer 的 Services kill掉.

    2. error : device not found
    这可能是你未有安装合适的 USB Driver
    也可能是未有 “开启手机内 USB 侦错模式”

  26. 我无DroidExplorer….已安N1 USB Driver也开启手机内 USB 侦错模式

  27. 那句 “error : device not found” 就是表示未能找到你的手机。

    这有很多的原因,
    – USB 线未有连接
    – USB Debug Mode 未有开启
    – Driver 安装问题

    在手机的 Notification bar, 看看应有以下两项
    – USB 已连接
    – USB 侦错模式已启用

  28. 不好意思,
    请问一下连线模式要选哪一个,
    我是选”装载为磁盘机”,电脑也出现磁盘机,
    但是最后一个步骤还是出现”error : device not found” ,
    还是要选别的模式呢?

  29. 不用选 “装载为磁盘机”.

    连接 USB 线后, 你看见 “USB 侦错模式已启用” 就可以.

  30. 我弄到最后一步骤打完adb…结果按enter他说”不是内部或外部命令,可执行的程式或批次档” 可以帮帮我吗谢谢你!!!!

  31. 你所在的资料夹内, 找不到 adb 这个档案.

    你可以检查是否转换至正确的资料夹.

  32. 我按你做方法做完之后系得左..但最后我再装程式的时候唔知点解装唔到呀..求求我..

  33. 回复原本设定
    若你发觉有不妥,要将手机回复原本设定,只要再做一次整个步骤。
    在 Step 9 改为执行下列指令便可
    adb shell pm setInstallLocation 0

    2 – 代表 SD Card
    0 – 代表 手机 Internal Storage

  34. 但回复之后都还是有些程式是装不到..是不是我的手机的问题呢?我的手机是DESIRE G7 ANDROID 2.2

  35. 你的问题应该跟这个 app2sd 改动没有关系. 因为这个改动只是将程式安装在什么位置. 2.2 本身已经可以 app2sd, 这个改动只是将一些没有设定 app2sd 的程式, 开启 app2sd 选项.

    可能是你所安装的程式问题. 其实你所指的安装不到是什么状况, 有什么显示? 是什么程式安装不到呢?

  36. 问题已经解决了..原来这是android 的问题..他不是每一个程式都可以装..要作一些设定才可以..要删除一些东西..不过已经解决了..谢谢..我再试一试有没关系..谢谢

  37. 我部系desire,装到而且好顺,但当用HTC Sync时,所有sd内嘅apps都认唔到及用唔到,系唔系一定咁样,有无得解决呢?

  38. 卡在第4步骤~ 安装完成后 没有选上能去SDK Manager 只有Finish!!

  39. 那就在你的 SDK 所安装的资料夹内, 找 SDKManager.exe 执行就可以.

  40. 小弟有照着大大的方式去做也成功了,现在的问题在手机与电脑连接时选择读取手机上的SD卡后,安装到SD卡的APP图示都不见了,到手机中应用程式内把它移到手机就又出现了,请问这是哪里的问题呢?谢谢

  41. 手机连接电脑, 并将SD Card 开启为 USB 储存装置时, 手机在这时候是不可读取 SD Card, 储存在 SD Card 的程式亦不可开启的.

    拔掉USB 连接后, 手机就可读取 SD Card, 在 SD Card 内的程式就可回复运作.

  42. 装左安装至sd card, 但系都只系左在内置SD咭, 而唔系装在外置SD咭, 咁样岩唔岩呢, 其实有冇办法装系外置咭呢, 因为我用LG P990, 内置都系得5G度咋

  43. 从 XDA Forum 看了一些 Optimus 2X 有关 App2SD 的讨论, APP2SD 都只是将 app 移至 内置的 SD Card, 看来还未有方法移至 外置的 SD Card.

  44. 请问一下最后输入”adb shell pm setInstallLocation 2″指令以后,会有什么画面嘛?

  45. 按下 [Enter] 后, 没有什么特别显示, 只是跳回 command prompt.
    好似下面这样.

    C:\ … \platform-tools>adb shell pm setInstallLocation 2
    C:\ … \platform-tools>

  46. 这跟免费版和收费版没关系.

    只要那个 app 容许 app2sd 就可以.
    再应用上面所讲的方法, 大部份的 apps 也可以 app2sd.

  47. 你好, 多谢你的回复, 如果有机会发现Optimus 2X 能够移至外置的 SD Card的方法, 希望可以给我们通知, 谢谢你

  48. 你好
    我也出现”error : device not found”
    USB 已连接- USB 侦错模式已启用
    进入你提供的网页后不知道哪个才是安装I5801的
    USB Driver的link ?

  49. 已经找到driver
    成功了!!谢谢你
    但少数几个客制化的程式
    如S市集,Market等
    好像无法移至sd卡?

  50. 对呀, 有少部份 Apps 就算用了这方法,也无法移到 SD Card.
    另外, widget 那些也不要移到 Sd card.

  51. 你好 我的手机已经显示以下2个讯息:
    USB 侦错模式已启用
    以媒体传输模式连线

    但是在输入adb… 按下enter之后
    仍然会显示 “error : device not found” 这一行错误讯息
    请问我该如何解决呢?

  52. An@droid大大您好!!

    我是使用Sony Ericsson XPERIA PLAY。

    跟您请教,第一次我按照您的教学,最后按下Enter时出现”error : device not found”。

    第二次我安装了Sony Ericsson PC Companion 2.0之后按下Enter出现了一大堆的文字,以为成功了,后来发现并没有成功,也不知道那ㄧ堆文字的意思是什么,也怕会不会影响到手机内部的什么设定???

    第三次我重新再做一次步骤4,按下Enter没有再出现什么讯息了,看一下手机成功了。

    我有几个问题:

    1.还是会有部份程式无法移至SD卡???

    2.adb shell pm setInstallLocation 2之后,是修改了手机内部的什么设定吗???会造成什么影响吗???

    假设一:在我没有复原成adb shell pm setInstallLocation 0的情况下将整台手机完整的恢复原厂设定(重灌),手机依然还会是adb shell pm setInstallLocation 2的设定吗???

    假设二:在使用了adb shell pm setInstallLocation 2之后,将一些程式移至SD卡后,再恢复成adb shell pm setInstallLocation 0,那些被移至SD卡的程式还可以移回手机吗???

    假设三:如果假设二是可以的话,那还可以不再使用adb shell pm setInstallLocation 2将程式移至SD卡吗???

    Thanks a lot !!

    ^_^”

  53. Leo,

    1. 对呀, 有少部份 Apps 就算用了这方法,也无法移到 SD Card! 另外, widget 那些也不要移到 Sd card.
    2. 那个 2 就是指 SD Card, 0 就是手机的内存. 这个指令就是 apps 默认的安装路径, 没有其他的影响.
    若果重灌, 一切也会回复至最初的情况, 就是没有执行过 “adb sell pm setInstall….”.

    恢复成adb shell pm setInstallLocation 0,那些程式是可以移回手机.

    … 不太明白假设三?!

  54. An@droid大大您好!!

    假设三的意思是,在使用了adb shell pm setInstallLocation 2之后,将程式移至SD卡后,再恢复成adb shell pm setInstallLocation 0,而我再将程式移回手机内,不再使用adb shell pm setInstallLocation 2已是恢复成adb shell pm setInstallLocation 0的状态下,还可以再将程式移至SD卡吗???(因为已经执行过2了,而也已经恢复成0了!!)

    另外还有一个小问题,如果说我用了2将程式移到SD卡后恢复成0,之后再下载的程式移至SD卡的按钮还会是锁住的状态吗???

    Thanks a lot !!

    ^_^”

  55. > 还可以再将程式移至SD卡吗???
    应该不可以呢.

    > 如果说我用了2将程式移到SD卡后恢复成0,
    > 之后再下载的程式移至SD卡的按钮还会是锁住的状态吗???

    若那个程式本身没有支援 “app2sd”, 那就是会锁著. 就像原本的那样.

  56. 谢谢大大分享这个方法
    让大家都受惠其中
    而且还解说得很详细
    让我也成功的让许多app2sd了
    超感谢你的!!!!!
    你的付出成就了许多人的成就感…
    感谢你!

  57. 我用既系xperia arc, android 2.3.2
    系cmd.exe入完command之后…无任何error msg…但系仍然不能app2sd
    请问应怎做呢??

  58. 没有 error mesg, 应该是 ok 的.

    另外, 不是所有 apps 也可以开启 app2sd.
    有些 apps 用了这个方法, 仍不可以 apps2sd.

    你说的”仍然不能app2sd” 是什么情况?

  59. 回 Sa, 看了数个 forum, 也找不到类似情况.
    你再试一下, 看会否成功.

    也看看其他未有 app2sd 的, 可否开启 app2sd?

  60. 大大你好,我执行了adb shell pm setInstallLocation 2后

    他出现了一堆命令的说明列吧,而且拔除usb线后,还是不能移动app

    请问大大我是那边做错了?

  61. 我卡在第7步骤 一直说找不到路径 T_T
    我的SDK是安装在program files(x86)下 请问该怎么做?

  62. 开启 Command Prompt 后, 可能会是这样
    C:\Users\abcde>

    跟着, 你可以输入 cd\
    就会返回至 C: 的 根目录 Root Directory
    变成这样
    C:\>

    接着可以输入
    cd 你的Android SDK位置

    例如: 你的 SDK 安装在 C:\Program Files (x86)\Android\android-sdk-windows
    就输入
    cd C:\Program Files (x86)\Android\android-sdk-windows

  63. 这个纯粹是键入资料的错误呢!

    “找不到路径” 的意思就是你输入的 “路径” 不正确.
    你再检查安装的位置, 跟输入的是否一样.

  64. 好的谢谢大大 那如果输入正确的路径会出现怎样的信息吗?

  65. 例如:
    你的 SDK 安装在 C:\Program Files (x86)\Android\android-sdk-windows, 就输入
    cd C:\Program Files (x86)\Android\android-sdk-windows

    C:\> cd C:\Program Files (x86)\Android\android-sdk-windows

    拍下 [Enter],就会变成这样
    C:\Program Files (x86)\Android\android-sdk-windows>

  66. 不好意思 想问一下 HD2 NAND 2.3 版

    我除错模式已经开了 也有安装 google usb driver package

    但是还是出现也碰到”error : device not found”

    HTC网站我去看了一下 没有可以装的

    我看硬件装置 有出现 android composite ADB interface

    但是还是跑”error : device not found”

    谢谢

  67. 回 Eric, 你的情况似 Driver 不正确.
    Google USB Driver 只适用于 Google 的 Nexus One 和 Nexus S.

    你试试在 HTC 网站, 找寻 HD2 的 driver.

  68. 回 jimleo,

    就是最下面 Windows 三个的其中一个, 那就看你的电脑是 x86, 还是 x64 呢.

  69. 安装程式侦测不到我已经安装的JDK…
    先谢谢您的热心教导

  70. 不好意思上面的问题我已经解决了
    现在卡在Command Prompt
    程式里面的指令直接是C:\Documents and Settings\Owner>
    没办法删除Documents and Settings\Owner>
    请问要怎么解决?

  71. 只要键入 cd\ 再按 Enter
    就回返回至 C Drive 的根目录 (root directory)
    C:\>

    跟着再键入 cd SDK_安装路径 便可

  72. 不用客气, 只是分享一下经验.
    希望帮到大家, 可以用尽手机, 发挥最大功能 🙂

    记得多点来捧场呢!

  73. 上网找了一会, 其中一个方法是, 当遇到 “JDK not found”, 就按[Back] 再按 [Next], 这样它就会找到.
    这方法有点 “儿戏”, 但不少网友也表示 work, 值得一试.

    另外, 可试重装 JDK, 跟着重开电脑, 再执行 installer_r10-windows .

  74. 其实我之前安装完 JDK 后都有重开机
    但都不行
    没想到最后竟然是被
    (当遇到”JDK not found”, 就按[Back] 再按 [Next],这样它就会找到)
    给救了
    我只能说
    An@droid 大大,这真是太神奇了

    多谢您的分享

  75. Aron, 方法可行, 太好了.

    我们都是分享一下经验, 大家一齐分享下! 🙂

  76. HI 我差不多到最后但说error:unknown host service 请问要怎么解决?

  77. 1. 开启手机内 USB 侦错模式
    在手机 Home 画面,按[Menu]键 > 设定 > 应用程式 > 开发,勾选 USB 侦错

    没有>开发……怎么办??

  78. 可以在 手机 “设定 > 关于手机” 内,移到最底, 连逐点按 “版本号码” (Build Number) 七次,跟着就会有提示 “表示已成为开发人员”,”开发” 的选项应会展示出来。

  79. 试过的结果:

    出现一堆文字应该是 parameter error 所致 (出现 help 指令说明)

    新的指令格式应该改为如下 (注意要小写):

    adb shell pm set-install-location 2

  80. 版主大大~我已经照BD大大的方法做了,打了新指令。
    可是他出现了
    Error:Could not access the Package Manager. Is the system running?
    请问~这是发生了什么问题吗?

  81. (请看图)在1里面输入2的地址,结果变以下那样。我是要输入3的位置吗?

  82. 结束后出现 more than one device and emulator
    请问大大该如何解决

  83. 我到第9步骤 输入 adb shell pm setInstallLocation 2 却显示 error: device not found 我还有试试 adb shell pm set-install-location 2 结果也一样 请问大大这怎么了 ?

发布留言