APK API 级别是否覆盖 JAR API 级别
Does APK API level override JAR API level
我有一个使用 API 构建的 Android APK 文件 19. 这个 APK 包括使用 API 构建的 JAR 16. 当我 运行 这个 APK 在设备,我注意到 JAR 中包含的 API 调用的行为与它们在 API 级别 19 中的行为相同。具体的 API 是 AlarmManager 的设置方法。此方法在 API 16 和 API 19 之间的行为不同。
根据这个观察,我得到的印象是在 运行 时,系统决定的 API 级别是基于 APK 的 API 级别。 APK 中包含的 JAR 的 API 级别被 APK 的 API 级别覆盖。这是正确的吗?
这是我在 AlarmManager 集 Android 文档中找到的 API:
注意:从API19开始,传递给该方法的触发时间被视为不准确:在此时间之前不会发送警报,但可能会延迟并发送一些时间以后。
targetSdkVersion 在 API 19 之前的应用程序将继续获得以前的警报行为:所有计划的警报都将被视为准确。
我不清楚 APK 的 targetSdkVersion 是否会覆盖 APK 中嵌入的 JAR 的 targetSdkVersion。
我找到了解决这个问题的方法。 APK 文件中的目标 SDK 版本会覆盖包含的 JARS 中的目标 SDK 版本。
具体来说,在上述情况下,当我将 APK 的 targetSdkVersion 更改为 16 时,AlarmManager 的设置 API 开始像 API 16 中那样运行。当我更改 targetSdkVersion 时APK 为 19,AlarmManager 的设置 API 的行为与 API 19.
中的一样
我有一个使用 API 构建的 Android APK 文件 19. 这个 APK 包括使用 API 构建的 JAR 16. 当我 运行 这个 APK 在设备,我注意到 JAR 中包含的 API 调用的行为与它们在 API 级别 19 中的行为相同。具体的 API 是 AlarmManager 的设置方法。此方法在 API 16 和 API 19 之间的行为不同。
根据这个观察,我得到的印象是在 运行 时,系统决定的 API 级别是基于 APK 的 API 级别。 APK 中包含的 JAR 的 API 级别被 APK 的 API 级别覆盖。这是正确的吗?
这是我在 AlarmManager 集 Android 文档中找到的 API:
注意:从API19开始,传递给该方法的触发时间被视为不准确:在此时间之前不会发送警报,但可能会延迟并发送一些时间以后。 targetSdkVersion 在 API 19 之前的应用程序将继续获得以前的警报行为:所有计划的警报都将被视为准确。
我不清楚 APK 的 targetSdkVersion 是否会覆盖 APK 中嵌入的 JAR 的 targetSdkVersion。
我找到了解决这个问题的方法。 APK 文件中的目标 SDK 版本会覆盖包含的 JARS 中的目标 SDK 版本。
具体来说,在上述情况下,当我将 APK 的 targetSdkVersion 更改为 16 时,AlarmManager 的设置 API 开始像 API 16 中那样运行。当我更改 targetSdkVersion 时APK 为 19,AlarmManager 的设置 API 的行为与 API 19.
中的一样