Android新手:minSdkVersion vs compileSdkVersion
Hy 对于使用android studio进行开发,我有一些基本的疑问:Android新手:minSdkVersion vs compileSdkVersion,android,android-min-sdk,Android,Android Min Sdk,Hy 对于使用android studio进行开发,我有一些基本的疑问: MinsdkVersion15:使用此配置,我只能强制使用 api级别为15而非更高的功能。对吗?因为我 我不这么认为 MinsdkVersion15和CompilesdkVersion24:使用此配置I 可以使用api级别直到级别24。这是正确的吗 MinSDK版本15和CompileSDK版本23:如果我 使用api 23中的api功能,此应用程序在android中无法工作 比如api级别为20的设备,对吗 使用之前
- MinsdkVersion15:使用此配置,我只能强制使用 api级别为15而非更高的功能。对吗?因为我 我不这么认为
- MinsdkVersion15和CompilesdkVersion24:使用此配置I 可以使用api级别直到级别24。这是正确的吗
- MinSDK版本15和CompileSDK版本23:如果我 使用api 23中的api功能,此应用程序在android中无法工作 比如api级别为20的设备,对吗
- 使用之前的配置,以及api级别为20的android设备 将能够下载并安装应用程序,因为它的api是 高于MinSDK版本15,但将无法运行,因为 有api 23的功能,对吗
- 如果我想确保我想使用api级别而不是更高级别 由于前面提到的问题,配置MinSDK版本15和CompileSDK版本15是唯一的方法?这是一个常见的问题 练习
minSdkVersion
为15,则表示您不希望应用程序在API级别低于该级别的设备上运行。15对应于安卓4.0.3
MinSDK版本15和CompileSDK版本24:使用此配置,我可以使用api级别直到级别24。这是正确的吗
您的IDE将允许您使用API级别24中的类、方法、字段等编写代码。IDE还应该警告您,使用API级别15之后添加到SDK的类、方法、字段等可能会导致运行时错误
minSdkVersion 15和compileSdkVersion 23:如果我使用api 23的api功能,这个应用程序将无法在api级别为20的android设备上工作,对吗
API Level 20是针对第一代Android Wear设备的特殊Android版本。但如果我们将其切换到API级别19(Android 4.4),如果您盲目调用Android 5.1(API级别23)方法,您将在Android 4.4上崩溃。这就是为什么IDE会警告您这一点,为什么您经常看到对BuildConfig.VERSION.SDK\u INT
的检查,以及为什么SDK有这些…Compat
类(它们试图隐藏许多版本差异)
使用之前的配置,api级别为20的android设备将能够下载并安装该应用程序,因为其api高于minSdkVersion 15,但无法运行,因为它具有api 23的功能,对吗
设备将尝试运行应用程序。它能走多远取决于应用程序写得有多好。同样,您可以创建一个应用程序,该应用程序使用较新的API功能,可以优雅地降级以在较旧的设备上运行。这与Web站点或Web应用程序可能希望使用最新的HTML5功能的方式没有显著区别,但在处理较旧或功能较低的浏览器时,会优雅地降级
如果我想确保我想使用api级别,而不是因为前面的问题而使用更高级别的api,那么配置minSdkVersion 15和compileSdkVersion 15是唯一的方法吗
不会。同样,当您尝试使用SDK功能时,IDE(通常)会对您大喊大叫,这些功能对于编译器DKversion
来说是可以接受的,但是比minSdkVersion
更新
这是一种普遍的做法吗
从2010年左右就没有了
FWIW,这里是有限的。因此,我的理解是,如果你检查应用程序运行的android版本,你可以编写比api 15更高的代码,如果不是,你不应用这些代码,但是如果你不写这些检查,使用的api级别比android版本更高,应用程序将100%崩溃,对吗?@user3254515:如果你执行的代码依赖于比设备运行的更高版本的Android,你肯定会崩溃。好的,明白了。但是,如果我想有一个干净的代码,而不是对应用程序运行的android版本进行全面检查,那么使用minSdkVersion==compileSdkVersion@user3254515:如果你是应用程序的唯一用户,这是有意义的。否则,请记住,您的用户并不关心您是否拥有“干净的代码”。他们确实关心你的应用程序做他们想做的事情。对于较新设备的用户,他们可能希望您的应用程序利用较新版本Android的功能。但是,您的“minSdkVersion==compileSdkVersion”方法意味着您支持这些较新功能的唯一方法是只支持较新的设备。这反过来又限制了你的应用程序可能的用户数量。当然,谢谢。但前几天开发了一款应用程序,并选择了minimun sdk级别15,该公司表示:“较低的api级别针对更多的设备,但可用功能较少”。因此,正如您所说,所选择的最低级别实际上并不限制您使用较新的api,因此始终检查版本以避免崩溃。为什么安卓工作室会这么说?