如何启用应用程序移动到SD卡(并支持android< 2.2仍然)?

时间:2010-10-26 11:12:18

标签: android app2sd

如何让我的应用程序移动到SD卡?

- 编辑标题,以使问题与给出的答案更相关。

4 个答案:

答案 0 :(得分:28)

您必须在AndroidManifest.xml文件中设置android:installLocation条目(preferExternalauto值即可。)

NB!对于此构建目标,应该是API Level 8(Android 2.2)。

答案 1 :(得分:14)

您还可以将android:installLocation设置为仍然定位到Android 1.6。

AndroidManifest.xml中,你必须像那样插入最小的SDK版本

    <uses-sdk android:minSdkVersion="4" />

这将确保您的应用程序仅适用于Android 1.6及更高版本。这当然会导致Eclipse项目中的编译器错误。那是因为1.6 SDK不知道android:installLocation。要解决此问题,请在Eclipse Project空间中右键单击您的Project(假设您正在使用Eclipse,不知道它在其他IDE中的工作方式或使用Ant构建),然后转到“Android”选项并选择“Project”将目标“定位到Android 2.2

这将删除上面显示的错误,您可以编译/导出您的APK文件。这样,APK将像往常一样在Android 1.6-2.1上运行,在Android 2.2上,它将使您能够使用SD卡来安装/移动应用程序。

然而是警告: 如果您不小心,这可能是不兼容的来源。因此需要增加测试阶段,因为如果使用2.x功能,您将不会直接注意到,因为Eclipse不会将其显示为错误,因为它使用Android 2.2 SDK作为参考。

所以你基本上有两个选择: 1.在您导出/签署应用程序时(即在您即将发布此新版本之前)执行上述步骤,然后将其重新设置 要么 2.在1.6设备或仿真器上广泛测试您的应用程序,看看它是否在任何时候崩溃,因为该应用程序使用的功能仅适用于比1.6更新的操作系统。

根据您的应用程序的复杂程度,第一个通常是更安全的应用程序,但是您承担忘记执行一次的风险。这将导致对于这一次更新,用户将无法将其安装在SD卡上。选择2有一个问题,如果你没有很好地测试一切,当Android 1.6设备尝试调用仅在2.x中可用的功能/功能时,你可能会突然强制关闭。

答案 2 :(得分:0)

对于Android手机,请按照以下步骤操作。

  1. 将Android SDK复制到您的系统。
  2. 将手机连接至系统,并在手机中启用USB调试选项。
  3. 打开cmd行并转到路径android sdk\platform-tools
  4. 运行命令adb shell pm setInstallLocation 2
  5. 转到手机中的设置,然后选中是否启用“移至SD卡”选项。

答案 3 :(得分:0)