Java 针对特定设备的targetSDKVersion、minimumSDKVersion和compileSDKVersion

Java 针对特定设备的targetSDKVersion、minimumSDKVersion和compileSDKVersion,java,android,kotlin,gradle,Java,Android,Kotlin,Gradle,我正在为一个特定的设备编程,但在理解如何设置minsdkversion、compilesdkversion和targetsdkversion时遇到困难。当我使用API级别25不存在的库时,我想得到一个编译器错误。这是我收集的。Minsdkversion阻止调用API版本不存在的API。CompileSDK版本应始终为最新版本。Targetsdkversion是应用程序测试的对象(不理解这意味着什么) 明斯克版本-25 编译DKVersion-28(AndroidX需要) targetSDKver

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

明斯克版本-25 编译DKVersion-28(AndroidX需要) targetSDKversion-25版本设置 在这些版本设置中,只有minSdkVersion生效以检测API级别错误。如果您想了解版本设置的详细信息,请参阅

如何让构建系统报告API级错误 对于发布版本,将“lintOptions”放在app/build.gradle中,并将“NewApi”标记为“致命”。然后,lintVitalRelease gradle任务在编译期间报告错误

android {

    lintOptions {
        fatal "NewApi"
    }

    compileSdkVersion 30

    defaultConfig {
        minSdkVersion 25
        targetSdkVersion 30

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

您是否可以共享错误日志“API级别25不存在的库”这是什么意思?该设备上安装了什么SDK?@Tenfour04我正在为一台具有Android 7.1(API级别25)操作系统的设备编程。谢谢,这帮了大忙。有没有办法获得编译错误而不仅仅是警告?对于Lint,我只能看到报告和出错的地方。我认为lintVitalRelease确实停止了使用NewApi错误进行编译。不是吗?lintVitalRelease是lint的缩小版,仅用于检测致命错误,不关心警告级别问题。如果它不能正常工作,那么您的环境中可能需要一些其他选项。有关可用的选项,请参阅。谢谢,我来看看。