java - 当我定位较旧的 Android 设备时,我应该使用哪个版本的 Google API?

标签 java android android-compatibility

我有一个为 API 15 及以上设备(即 ICS)设计的 Android 应用程序。现在我还想定位 API 10 设备,即 Gingerbread。为了做到这一点,我使用了 ActionBarSherlock。

好的,所以我按照文档操作并找到了 Sherlock。我更新了我的代码。我有一个 Activity 是 MapActivity,需要将其替换为 SherlockMapActivity。完成。

在我的项目的构建目标中,我将目标指定为“Google APIs for API 15”。在我的应用程序的 list 文件中,我已将最低 SDK 要求设置为 API 10。现在,当我创建 Gingerbread 模拟器并尝试启动我的应用程序时,我收到以下错误:

Package com.mridang.soemthing requires unavailable shared library com.google.android.maps; failing!

我知道这是因为 Gingerbread 缺少“Google APIs for API 15”,这是可以理解的,但如果我将项目的构建目标设置为“Google APIs for API 10”,那么我就无法使用该代码块我使用了 CalendarContract,它仅出现在未来的 API 中。

这似乎是第 22 条军规的情况,我似乎无法理解如何使我的应用程序在两种设备上运行。有什么帮助吗?

最佳答案

You cannot use CalendarContract on Android devices running less than API Level 14.

您可以获取更多详情HERE在 Commonsware 博客上。

关于java - 当我定位较旧的 Android 设备时,我应该使用哪个版本的 Google API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13209382/

相关文章:

java - 使用 `import java.util.Random` 如何获得不重复的结果?

android - 使用Kotlin清除计算器应用程序上的按钮

android - android-support-v7-appcompat 和 android-support-v4 之间的区别

android - 支持库中的 GridLayout 在 Android 2 上不显示 2 行,onChildVisibilityChanged 错误

android - 如果最小 SDK = 14,则适用于 Lollipop 的 Appcompat、兼容性和支持库

java - Sonarqube 中的 JVM 错误

java - 多行正则表达式

java - 什么是 ForkJoinPool 异步模式

android - 什么是 'action android:name="com.android.vending.INSTALL_REFERRER"'?

android - 获取从 google play 安装的应用程序的安装日期/时间