无法将少数应用移至SD卡


9

我的Samsung Galaxy Y Android 2.3.6手机中安装了Any.DOAK Notepad等应用。我已经尝试过Titanium BackupApp 2 SD(将应用程序移动到SD),但是仍然无法将这些应用程序全部移动到SD卡。怎么了?有人可以帮我吗?


1
如果您尝试将应用移至SD会发生什么?
流动

1
@Flow看到我的答案。这两个应用程序都集成了小部件,因此它们很可能不支持App2SD。
伊兹

如果您想您的应用程序移动到因为“低内部存储” SD卡去检查android.stackexchange.com/questions/30620/...
西尔华德

Answers:


7

应用必须明确支持App2SD,否则您无法将其移动到卡中。应用可能不支持的原因有几个:

  • 使用窗口小部件(这两个提到的应用似乎都属于此类。
  • 运行服务

由于sdcard在连接到计算机时将不可访问,因此两者都会“崩溃”(因为它们无法再访问其数据等)。当然,开发人员总是有可能根本不在乎-在这种情况下,您应该联系他并询问。


我遇到了一个有趣的案例-应用程序f-droid.org/repository/browse/?fdid=com.nanoconverter.zlab有缺陷-它提供了后台服务和小部件,但我的4.2.2 可以将其移至SD卡(失去该功能,ofc)。
免费咨询

3

有一些因素可能会影响此:

  1. 应用必须明确声明最好/可能将其安装在SD卡上。

    从API级别8开始,您可以允许将应用程序安装在外部存储设备(例如设备的SD卡)上。您可以使用android:installLocation清单属性为应用程序声明此功能。如果不声明此属性,则您的应用程序将仅安装在内部存储器上,并且无法移动到外部存储器

    (强调我的)

  2. 应用已设置为使用API​​ 7(Froyo)或更低版本进行编译,这不支持在SD卡上安装应用(即使已将其安装在GingerBread或更新的设备上)

    您的应用程序可以在外部存储上安装的功能仅在运行API级别8(Android 2.2)或更高版本的设备上可用。在API级别8之前构建的现有应用程序将始终安装在内部存储上,并且无法移动到外部存储(即使在具有API级别8的设备上)。但是,如果您的应用程序设计为支持API级别低于8,则可以选择为API级别为8或更高的设备支持此功能,并且仍与API级别低于8的设备兼容。

    (强调我的)

不建议将某些应用安装在SD卡上的原因如下:

当用户启用USB大容量存储与计算机共享文件(或以其他方式卸载或移除外部存储)时,安装在外部存储上且当前正在运行的任何应用程序都将被杀死。在禁用大容量存储并将外部存储重新安装到设备上之前,系统实际上不会意识到该应用程序。除了杀死该应用程序并使该应用程序对用户不可用之外,这还可能以更严重的方式破坏某些类型的应用程序。为了使应用程序能够始终如一地正常运行,如果使用以下任何功能,则不应允许将应用程序安装在外部存储上,这是由于卸载外部存储时会引起以下后果:

  • 服务

    Service重新安装外部存储时,您的跑步将会终止,并且不会重新启动。[...]

  • 警报服务

    AlarmManager向其注册的警报将被取消。[...]

  • 输入法引擎

    您的IME将被默认的IME代替。[...]

  • 动态壁纸

    您正在运行的动态壁纸将被默认的动态壁纸取代。[...]

  • 应用小部件

    您的应用窗口小部件将从主屏幕中删除。重新安装外部存储后,在系统重置主应用程序之前(通常要等到系统重启后),用户才能选择您的App Widget。

  • 客户经理

    创建的帐户AccountManager将消失,直到重新安装外部存储。

  • 同步适配器

    AbstractThreadedSyncAdapter在重新安装外部存储之前,您及其所有同步功能将无法使用。

  • 设备管理员

    DeviceAdminReceiver及其所有管理功能将被禁用,这可能会对设备功能产生无法预料的后果,可能会在重新安装外部存储后继续存在。

  • 广播接收器正在监听“启动完成”

    ACTION_BOOT_COMPLETED在外部存储器安装到设备之前,系统会传送广播。如果您的应用程序安装在外部存储器上,则它将永远不会收到此广播。

如果您的应用程序使用上面列出的任何功能,则不应允许您的应用程序安装在外部存储器上。

(部分内容已删除。它们正在说明开发人员在重新安装SD卡后必须执行哪些操作才能使其应用正常运行。)

注意:此答案用作“为什么某些应用程序无法移动到SD卡”的常规信息

来源:Android开发人员:应用安装位置


1

绝对有可能通过Link2SD将应用程序移至SD卡,并使它们仍然完美运行(包括小工具和服务)。

编辑:使用此方法需要对手机进行root访问,还需要对SD卡进行格式化以使其具有第二个分区。

为了避免在此处再次多余地发布答案,我将删除指向其的链接:https : //android.stackexchange.com/a/145591/167026

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.