谢谢
#1 楼
HowtoGeek上的本文介绍了利用adb的一种可能方法:启用USB调试
将设备连接到计算机
执行命令
adb shell pm setInstallLocation 2
(或使用新语法
adb shell pm set-install-location 2
)完成断开连接。此命令会将设备默认安装目标设置为SDCard。那并不一定意味着所有东西都安装在这里:只有支持此功能的应用程序才可以在那里安装,并且开发人员可以根据需要在其应用程序清单中“否决”该功能。从链接的API参考中:
更改默认安装位置。位置值:
0
:自动-让系统确定最佳位置。1
:内部-安装在内部设备存储上。2
:外部-安装在外部介质上。注:这仅用于调试;仅用于调试。使用此功能可能会导致应用程序中断以及其他不良行为。
有关ADB的详细信息以及如何进行操作,例如在计算机上获取它的最低版本(而无需安装整个SDK的过大杀伤力),则可以查看adb标签wiki。 t0mm13b的答案,有关安装过程的一些注意事项:
您在google-play-store上找到了一些应用,并决定安装它
在条款/权限上达成一致后,将apk下载到
/data/local
,即您的内部存储。您无法更改。下载完成后,将自动安装
.apk
。在何处取决于多个因素:如果开发人员未在其应用程序
android:installLocation
中指定Manifest
属性,则该应用程序将安装到内部故事中。句号,别无选择(请参阅:API参考)。如果此
android:installLocation
设置为preferExternal
,并且有外部存储可用,它将进入那里。如果将其设置为
auto
,则再次取决于: 该应用程序是否包含小部件,服务,是否要在启动时启动以及其他一些功能,因此它进入内部存储。句号,别无选择。
设备“默认安装位置”指向的位置
评论
可能有助于包括警告-它不能保证能正常工作,特别是如果应用程序具有自己的小部件... :)
–t0mm13b
13年4月11日在18:08
如我所写:只有支持此功能的应用程序才能到达:)小部件,服务等都告诉它不支持它:)
– Izzy♦
13年4月11日在18:22
执行命令adb shell pm setInstallLocation 2后,错误:找不到设备
–moudrick
2015年10月1日9:07
听起来您跳过了前两个步骤(启用USB调试并在此之后连接设备)–或者您使用的是Windows,并且未安装相应的驱动程序。请点击相应的链接,然后从那里继续@moudrick。
– Izzy♦
2015年10月1日,9:29
#2 楼
那不能改变!这就是Android的工作方式。从Google Play进行的所有下载都将转到内部文件系统,然后从以下位置进行下载:
设置>管理应用程序
点击该应用程序,检查按钮
如果启用了“移至SDCard”按钮,则可以执行此操作。
如果“移至SDCard”按钮被禁用或显示为灰色,则可能会阻止该应用程序正常运行-例如主屏幕上自己的小部件。
此外,请在此页面右侧相关的侧栏中查看此答案。 :)
评论
您确定吗,t0mm13b?如此处所述,是否没有向Adb Shell pm setInstallLocation 2(即SDCard)提供一些ADB命令?
– Izzy♦
13年4月11日在16:32
开发人员可以在清单中指定该名称,以使应用程序具有移动到SDCard的功能。 android:installLocation =“ auto”尚未见过adb shell pm setInstallLocation 2,大概是在这种情况下您指定了软件包名称...
–t0mm13b
13年4月11日在17:53
否,t0mm13b-请参阅我的答案和链接文章。这将设置设备的默认安装位置。因此,如果清单显示“自动”,那就行了。如果清单显示的不是“自动”,则显示清单显示的位置。另请参阅:API ref,也可在此处获取pm set-install-location(新语法)命令。
– Izzy♦
13年4月11日在18:21
Izzy-我指定的有关AndroidManifest的android:installLocation的内容-实际上从管理应用程序设置启用了“移至SDCard” ...有些开发人员未指定它并呈现了禁用的按钮,但我承认-从没见过adb命令可以这样做
–t0mm13b
13年4月11日在18:44
嗯,现在我明白了–不同的重点:您说的是“如果不打算将应用程序安装在SD上,则不能这样做” –我将重点放在默认情况下,除非另有说明。但是请检查您答案的前4行,它们说的有所不同。不过,您是正确的:首先下载到/ data / local,然后从那里安装该应用程序。但是根据设置和清单,它可以安装在内部或直接从外部安装。 //如果您想详细讨论这一点:您还记得我们的酒吧吗? :)
– Izzy♦
13年4月11日在19:14
#3 楼
在您的手机中安装“ Android终端模拟器”,然后打开$ su
# pm get-install-location
0[auto]
# pm set-install-location 2
# pm get-install-location
2[external]
评论
有趣,但是您必须有扎根才能起作用
– Robert S. Barnes
17年5月22日在7:05
#4 楼
转到“管理应用”,然后选择“所有”标签,然后找到“ Google Play商店”。点击它,然后按“卸载更新”按钮。之后,前往Play商店将所有应用安装在SD卡上。这就是我在QMobile A110(Android 4.2)上所做的。评论
我认为您缺少将默认安装位置设置为SD卡的中间步骤,即使这样,它也不总是对每种应用程序都有效。
–谜
2014年10月20日18:45
#5 楼
问题是,如果您的手机已扎根,您可以更改默认安装目录。下载幸运的补丁程序并点击工具,您可以找到更改默认安装目录的选项。
**请勿在android 4或更高版本上执行此操作,否则可能会导致不可逆的更改。
**
评论
根据Android版本市场份额2016,在发布此答案之日,所有Android用户中有97.7%使用的是Android 4.0或更高版本,因此Lucky Patcher可能会对几乎所有当前的Android用户造成不可逆转的更改。
–卡雷尔
16年6月8日在8:52
那将是什么“不可逆转的变化”?我在Kitkat设备上没有注意到它们:)但是正如@karel指出的那样:如果您认为不应该使用它,为什么推荐呢?
– Izzy♦
16年6月8日在11:52
评论
将应用程序移至SD的可能重复项仅适用于已root用户的设备吗?特别是因为@Yeradis回答android.stackexchange.com/a/4976/156
@GAThrawn不,那不是骗人的。您链接的问题是“可以将应用程序移至SD”。这是“如何指定默认安装位置”。同一条街,不同的房子。