您当前的位置:首页 > 互联网教程

android 中targetSdkVersion和与target属性的区别

发布时间:2025-05-11 22:47:12    发布人:远客网络

android 中targetSdkVersion和与target属性的区别

一、android 中targetSdkVersion和与target属性的区别

1、AndroidMenifest.xml中targetSdkVersion和project.properties中的target属性的区别

2、在AndroidMenifest.xml中,常常会有下面的语句:

3、<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="10" android:maxSdkVersion="15"/>

4、在project.properties中,会看到下面的语句: target=android-10如果是使用Eclipse的话,还可能会看到这样的警告:

5、Attribute minSdkVersion(4) is lower than the project target API level(10)

6、那么,这里面的minSdkVersion、maxSdkVersion、targetSdkVersion、target四个属性到底有什么区别?

7、minSdkVersion与maxSdkVersion比较容易理解,就是在安装程序的时候,如果目标设备的API版本小于minSdkVersion,或者大于maxSdkVersion,程序将无法安装。一般来说没有必要设置maxSdkVersion。

8、targetSdkVersion相对复杂一些,如果设置了此属性,那么在程序执行时,如果目标设备的API版本正好等于此数值,

9、他会告诉Android平台:此程序在此版本已经经过充分测,没有问题。不必为此程序开启兼容性检查判断的工作了。

10、也就是说,如果targetSdkVersion与目标设备的API版本相同时,运行效率可能会高一些。

11、但是,这个设置仅仅是一个声明、一个通知,不会有太实质的作用,

12、比如说,使用了targetSdkVersion这个SDK版本中的一个特性,但是这个特性在低版本中是不支持的

13、,那么在低版本的API设备上运行程序时,可能会报错:java.lang.VerifyError。也就是说,此属性不会帮你解决兼容性的测试问题。

14、你至少需要在minSdkVersion这个版本上将程序完整的跑一遍来确定兼容性是没有问题的。(这个问题确实让人头疼)

15、project.properties中的target是指在编译的时候使用哪个版本的API进行编译。

16、综上,上面的四个值其实是作用于不同的时期:

17、level是在编译的时候起作用,用于指定使用哪个API版本(SDK版本)进行编译。

18、minSdkVersion和maxSdkVersion是在程序安装的时候起作用,用于指定哪些版本的设备可以安装此应用。

19、targetSdkVersion是在程序运行的时候起作用,用于提高指定版本的设备上程序运行体验。

20、这四个数值在程序编译时也没有严格的检查,比如说,你可以将minSdkVersion设置的比maxSdkVersion还大,他会自动忽略掉错误的maxSdkVersion。

二、android里compilesdkversion可以比targetsdkversion高很多

1、Android开发中,compileSdkVersion可以高于或等于targetSdkVersion。不过,遵循的原则是minSdkVersion≤ targetSdkVersion≤ compileSdkVersion。

2、compileSdkVersion设置给Gradle,用于指明应用的编译版本。开发者可选择最新SDK编译应用,以避免使用过时API,并为新API做准备。

3、另一方面,targetSdkVersion表示开发者告知系统,应用已经针对特定版本的特性进行了适配和测试。系统会据此版本特性来处理应用。

4、简而言之,compileSdkVersion用于编译,targetSdkVersion用于适配系统特性和测试,且后者版本应不低于前者。

5、在实际开发中,建议遵循此规则。同时,定期更新compileSdkVersion,确保应用支持最新的API和功能,同时通过调整targetSdkVersion以匹配系统版本要求,从而提升应用兼容性和用户体验。

6、总之,合理设置这三个版本参数,对于构建适应不断发展的Android平台的高效应用至关重要。

三、androidstudio找不到sdk(androidstudio找不到AVD)

Androidstudio导入UI程序时,提示没有找到SDK。如何解决?

1、Error:failedtofindtargetAndroid-21:D:\androidsdk

1、Error:failedtofindtargetAndroid-21:D:\androidsdk

Installmissingplatform(s)andsyncproject

找到一个可用工程,用记事本打开app/build.gradle,找到compileSdkVersion23

将其复制到出错工程的对应位置即可

2、Error:Gradle2.4requiresAndroidGradleplugin1.2.0(ornewer)?butprojectisusingversion1.0.0.

PleaseuseAndroidGradleplugin1.2.0ornewer.

Fixpluginversionandsyncproject

找到一个可用工程,用记事本打开工程下的build.gradle,找到com.android.tools.build:gradle:1.3.0将其复制到出错工程的对应位置即可

3、运行时出现Failure[INSTALL_FAILED_OLDER_SDK]

网上都说是因为程序源码下的“AndroidManifest.xml”文件中定义了“minSdkVersion”的原因,将其删除就可以解决问题。

可是我源码下的“AndroidManifest.xml”文件中根本就没有“minSdkVersion”内容,用记事本打开app/build.gradle,在里面找到了minSdkVersion16????targetSdkVersion23参照一个可用工程,将出错工程的对应版本修改过来即可

明明已经下载了SDK安装了JDK?却提示找不到,原来是还得在Androidstudio中设置SDK路径

androidstudio找不到SDK怎么办

打开othersetting--defaultprojectstructure,进入SDK设置页面,在这里可以设置SDK的路径,如果没有SDK,可以在网上下载,解压后再按照上面的步骤指定就可以了。

打开othersetting--defaultprojectstructure,进入SDK设置页面,在这里可以设置SDK的路径,如果没有SDK,可以在网上下载,解压后再按照上面的步骤指定就可以了。

虽然问题很久了,但是今天刚好遇到了,就来回答一下,万一别的同学也遇到的话可以来看看:

点击setting--》plugins--》找到“AndroidSupport”选项,并勾选,然后会提示重启androidstudio,点击重启,ok,如果已经设置好SDK的路径的话,问题解决,如果还没有设置SDK路径,这时候,再如下操作:

设置好自己的SDK路径和JDK路径,以及NDK路径(需要的话)。

“androidstudio”需要安装sdk。Androidstudio安装完后会自带sdk的,如果没有sdk的话,程序是无法编译运行的,sdk的路径自己可以修改。

温馨提示:在安装AndroidStudio之前,建议先提前准备好单独的AndroidSDK,这个可以在AndroidDevTools网站下载。以前用Eclipse做过Android开发的人,就可以用现成的AndroidSDK。

AndroidStudio安装完成后,第一次启动AS前,为了避免重新下载新版本的SDK,需要做如下操作:

AS启动前,打开安装目录,请先将bin目录的idea.properties文件中增加一行:disable.android.first.run=true就行了,避免第一次打开AS时自动重新下载SDK。mac平台的右键安装包-ShowPackageContents就找到bin目录了。

第一次打开AndroidStudio时,需要配置JDK和SDK:

上图中,选择“ProjectStructure”,弹出如下界面:(选择JDK和AndroidSDK的路径)

当然,以后我们在使用AndroidStudio的时候,也可以随时修改JDK和AndroidSDK的路径。选择「File--OtherSettings--DefaultSructure」,即可进行同样的修改。