Android:2.1 并为 2.2+ 用户安装 SD 卡功能

标签 android eclipse backwards-compatibility

我希望我的 Android 应用程序支持 2.1 (Eclair),但我也希望它支持 2.2(及更高版本)用户安装到 SD 卡。 我正在使用 MOTODEV,并创建了一个新的 2.1 项目。我尝试将 android:installLocation="preferExternal" 添加到我的 list 文件中,但它不起作用,因为它在 2.1 中不受支持。如何让我的应用程序支持 SD 安装同时支持 2.1?

编辑:我看到我可以使用 android:installLocation="preferExternal" 根据 http://developer.android.com/guide/appendix/install-location.html#Compatiblity 甚至对于 2.1 和更旧的版本.诀窍是,如 CommonsWare 所述,将构建目标更改为 2.2。

现在的问题是 Eclipse/Motodev 不允许我在比构建版本更旧的虚拟设备上运行或调试。它根本没有列出设备。我尝试通过更改构建目标来欺骗它,在运行/调试配置中选择一个旧设备,然后将构建目标改回来,但我只是在控制台中收到以下消息:

首选 AVD“eclair_hvga”与项目目标“Android 2.2”不兼容。正在寻找兼容的 AVD...

最佳答案

将您的build 目标(MOTODEV Studio for Android 中项目属性的Android 部分)设置为2.2。这导致你使用 2.2 规则进行编译,并且 android:installLocation 应该被识别。然后,在 2.1 和 2.2 上测试您的应用。

关于Android:2.1 并为 2.2+ 用户安装 SD 卡功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5361902/

相关文章:

java - 为什么 Sun 指定 String.hashCode() 实现?

javascript - 如何使用 jQuery Mobile 从网站获取数据来构建应用程序 apk?

Android 设计支持库 : FloatingActionButon (FAB) displaying correctly on earlier versions of android and incorrectly on Lollipop

android - 在 fragment 中滚动 recyclerview 会导致 View 被上推

android - PreferenceScreen 中不同包的 targetClass 时的 ActivityNotFoundException

java - 模拟器运行缓慢

android - 在没有 Gradle 的情况下从 Eclipse 迁移到 Android Studio

java - JFrame : it shows a list of number instead of the image 的问题

android - 我的第一个用 Ice Cream Sandwich 制作的 Android 应用程序即将完成,并且想知道向后兼容性

soap - SOAP/WSDL 中的 API 能否轻松保持向后兼容?