如果我没有在gradle中给出任何targetversion,那么它是否会采用最新版本,或者它将选择哪个版本,我构建apk而不提供任何targetversion,所以当我得到这个targetversion的问题是强制性的?
答案 0 :(得分:1)
它不是强制性的,但强烈建议。
targetSdkVersion
与添加最新版本或编译无关,只允许您使用目标SDK中提供的功能。
例如。 如果您的目标是SDK 23,则只要您在代码中使用关键权限,IDE就会将错误标记为错误。它会告诉你进行权限检查。 如果您定位SDK 22,则可以在不进行权限检查的情况下自由使用关键权限。
对于上述情况,您的应用已经过测试,在Lollipop或更低版本中可以正常使用,但它可能会在Marshmallow中崩溃。
根据文档,它说here
指定应用程序设计用于运行的API级别。 在某些情况下,这允许应用程序使用清单元素或 在目标API级别中定义的行为,而不是 仅限于使用为最低API级别定义的那些。