当前位置: 首页 > 知识库问答 >
问题:

TaretSDKVersion、最小SDKVersion和针对特定设备的编译SDKVersion

郑光济
2023-03-14

我正在为一个特定的设备编程,我无法理解如何设置minsdkversion、compilesdkversion和Target etsdkversion。当我使用API级别25不存在的库时,我想得到一个编译器错误。这是我收集的信息。minsdkversion阻止调用API版本不存在的API。Compilesdkversion应该始终是最新版本。Targetsdkversion是应用程序的测试对象(不明白这意味着什么)。

minsdkversion-25 compilesdkversion-28(AndroidX需要)目标SDKversion-25

共有1个答案

岑彬炳
2023-03-14

在这些版本设置中,只有minSdkVersion生效以检测API级别的错误。如果您想了解版本设置的详细信息,请参阅文档。

对于发布版本,请在app/build中放置“选项”。gradle将“NewApi”标记为“致命”。然后,lintVitalRelease gradle任务在编译过程中报告错误。

android {

    lintOptions {
        fatal "NewApi"
    }

    compileSdkVersion 30

    defaultConfig {
        minSdkVersion 25
        targetSdkVersion 30

        :
    }
    :
} 

在调试构建中,上面的lint选项没有任何效果,因为lint不包括在调试构建任务中(没有lintVitalDebug-gradle任务)。因此,在编码之后,手动运行“代码检查”来检测代码中的所有新API问题。如果发现不兼容的API使用,您将在检查结果中看到“在旧版本上调用新方法”错误。

 类似资料:
  • 我担心我应该将、和设置为什么。 > 我首先担心的是,如果我将 设置为 23,这是现在最新的版本,旧设备是否能够运行它? 我如何确切地知道我的< code>minSdkVersion应该是什么,以确保运行较低api或版本的手机无法访问它(我不想将最低sdk设置得太高,因为这会阻止可能运行该应用程序的手机)? 我应该如何设置我的 ?

  • 我正在使用推荐的GWT Maven插件和GWT Eclipse插件。实际上,我正在使用带有的maven插件来尝试模拟旧的Google Eclipse插件超级开发模式。按照GWT Plugin留档中的Google App Engine说明和建议的示例项目gwt-basic-rpc-appEngine我创建了这个项目,当我从Eclipse启动App Engine本地服务器时(使用Eclipse Goo

  • 问题内容: 我正在将Primefaces 3.2与JSF 2.0一起使用。 我正在使用 而对于ajaxStatus: 我在同一页面上还有很多其他primefaces组件,但是我只希望在按下此特定按钮时呈现p:ajaxStatus。有什么好的解决办法吗?ajaxStatus在每个ajax事件上呈现。 问题答案: 如果您有少量按钮,则可以对其进行设置,然后在不进行此设置的情况下保留所需的按钮。 这样,

  • 定义一个普通的设置方法,并在每个方法的开头调用; 将方法与依赖于它的所有方法一起移动到一个新类(顶级类或内部类)。 两者都不理想,我希望保持测试的自然分组和清洁,而不是由于缺乏替代方案而分裂。

  • Microsoft Windows Apache的使用 此文阐述如何在Windows平台上安装、配置和运行Apache2.0 参见:在Microsoft Windows上使用Apache 编译Apache 此文会指出在Windows平台上编译Apache以前必须了解的许多要点。 参见:在Microsoft Windows平台上编译Apache 其他平台 Novell NetWare 此文阐述如何在

  • 问题内容: 有人可以帮助我了解JLS第15.12.2.5节“ re:最具体的方法” 吗? (来自JLS的糟糕的剪切和粘贴如下) 此外,如果满足以下任一条件,则一个名为m的可变arity成员方法比具有相同名称的另一可变arity成员方法更具体: 一个成员方法具有n个参数,另一个具有k个参数,其中n> = k。第一种成员方法的参数类型为T1,…。。。,Tn-1,Tn [],另一种方法的参数类型为U1,