gpt4 book ai didi

android - IntelliJ/Eclipse 不遵守 Android 应用程序的最低 SDK 版本

转载 作者:太空狗 更新时间:2023-10-29 15:55:22 26 4
gpt4 key购买 nike

我有一个针对 Android 15 的 Android 项目,但最低版本为 Android 8。这在 list 文件中定义:

<uses-sdk android:minSdkVersion="8"
android:targetSdkVersion="15"/>

这意味着我最多只能使用 Android 8 的功能。

当我使用像 String 类的 isEmpty() 方法(在 API 9 中添加)这样的方法时,IntelliJ 和 Eclipse 都能愉快地编译它,但是当我在旧设备上运行它时,我会崩溃,因为 API 8 不会已实现 isEmpty()。

有谁知道为什么两个 IDE 都不能捕获这样的东西?

我的 Java 编译器版本是 1.6.0_33 - 强制 IDE 使用旧版本是否有帮助?

谢谢!如果有任何我遗漏的信息,请随时发表评论,我会挖掘信息!

最佳答案

它应该编译。这允许您通过包装类在更新的 SDK 中使用更新的方法。如果您的目标 SDK 是 8,那么 IDE 会捕获您并提示。

更多信息在这里:

http://developer.android.com/guide/practices/compatibility.html

包装类技术非常有用。这篇博文中有关于它的指南:

http://android-developers.blogspot.com/2009/04/backward-compatibility-for-android.html

编辑:

应该注意的是,默认设置为 Lint 的 Eclipse 的最新 ADT(r20,可能更早)将查找 minSDK 之上的 API 方法的使用。然而,它只会在文件被修改后检查文件,或者如果您运行 Lint。

关于 Lint 的更多信息:http://tools.android.com/tips/lint

关于android - IntelliJ/Eclipse 不遵守 Android 应用程序的最低 SDK 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12378084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com