是否必须在构建gradle或manifest中提供targetversion?

时间:2016-08-25 05:26:01

标签: android build.gradle target

如果我没有在gradle中给出任何targetversion,那么它是否会采用最新版本,或者它将选择哪个版本,我构建apk而不提供任何targetversion,所以当我得到这个targetversion的问题是强制性的?

1 个答案:

答案 0 :(得分:1)

它不是强制性的,但强烈建议。

targetSdkVersion与添加最新版本或编译无关,只允许您使用目标SDK中提供的功能。

例如。 如果您的目标是SDK 23,则只要您在代码中使用关键权限,IDE就会将错误标记为错误。它会告诉你进行权限检查。 如果您定位SDK 22,则可以在不进行权限检查的情况下自由使用关键权限。

对于上述情况,您的应用已经过测试,在Lollipop或更低版本中可以正常使用,但它可能会在Marshmallow中崩溃。

根据文档,它说here

  

指定应用程序设计用于运行的API级别。   在某些情况下,这允许应用程序使用清单元素或   在目标API级别中定义的行为,而不是   仅限于使用为最低API级别定义的那些。