那么它就会在内部记录使用的API level为10
作者:dede58来源:dede58.com时间:2019-08-06

  这个属性通知系统,你已经针对这个指定的目标版本测试过你的程序,系统不必再使用兼容模式来让你的应用程序向前兼容这个目标版本。应用程序仍然能在低于targetSdkVersion的系统上运行。

  为了让你的应用程序指定可以运行的版本,Android的manifest文件中提供了uses-sdk标签。该标签中有三个属性,分别是minSdkVersion,targetSdkVersion,maxSdkVersion。这三个属性比较容易让人迷惑,我也是仔细读了谷歌的官方文档,才弄清楚这三个属性的意义。此外,在项目构建时,还有个概念叫build target,在本文中也会进行分析。

  标明应用程序目标API Level的一个整数。如果不设置,默认值和minSdkVersion相同。

  根据你设置的targetSdkVersion 的值,系统会执行很多兼容行为。一些行为在对应平台版本的Build.VERSION_CODES中有讨论。

  从上面的论述可知,targetSdkVersion这个属性是在程序运行时期起作用的,系统根据这个属性决定要不要以兼容模式运行这个程序。

  在高于2.0.1的系统上,安装应用时不会再检验应用中设置的maxSdkVersion值,在系统升级后也不会重新校验这个值。但是在向用户展示可用的应用时,Google Play会继续使用这个属性进行过滤。maxSdkVersion这个属性本来是在程序安装时和系统升级后起作用的。但是根据官方文档中的说明, 已经不再推荐使用这个属性。

  一般情况下,应该将这个属性的值设置为最新的API level 值,这样的话可以利用新版本系统上的新特性。eclipse在生成项目时,默认将该值设置为最高,如果设置一个较低的值,会给出一个警告,如下图所示。

  为了让你的应用程序支持每个Android版本,你应当提高targetSdkVersion的值到最新的API level,然后在对应的平台上彻底的测试你的应用。

  由于Android不断向着更新的版本进化,一些行为甚至是外观可能会改变。然而,如果平台的API Level高于你的应用程序中的targetSdkVersion属性指定的值,系统会开启兼容行为来确保你的应用程序继续以期望的形式来运行。你可以通过指定targetSdkVersion来匹配运行程序的平台的 API level来禁用这种兼容性行为。举例来说,设置这个值为11或更高,当你的应用运行在Android3.0或更高的系统上时,系统会为你的应用使用新的默认主题(Holo主题),并且当运行在大屏幕的设备上时会禁用屏幕兼容模式(screen compatibility mode),因为支持了 API level 11就暗示了支持大屏幕。

  一般情况下,应该使用最新的API level作为build target。这也是eclipse生成项目时的默认行为。

  下面给出android系统版本,API level和版本代号之间的对应关系表。(该表来自谷歌官方文档:)

  如果没有设置minSdkVersion这个属性,那么默认是1。表明程序兼容所有的Android系统,能够在所有Android系统上运行。如果使用了高于API level 1 的API, 如ActionBar。那么在构建项目时,会提示和上面相同的错误,项目构建失败。

  指明应用程序运行所需的最小API level。如果不指明的线。也就是说该应用兼容所有的android版本。我们应该总是声明这个属性。

  其实标签uses-sdk中指定的并不是我们使用的sdk的版本,也不是Android系统的版本,而是我们使用的An

名人养生

饮食养生
  • 如果一款apk程序的系统版本要求
  • 望成长三角后再一个国家战略
  • 这个方法显然更节省
热点关键词

Copyright © 2002-2017 梦想科技 版权所有   
网站地图