在Android Studio和Android Eclipse 更改现有项目里的SDK版本

时间:2023-03-09 18:51:21
在Android Studio和Android Eclipse 更改现有项目里的SDK版本

一,在Eclipse下改项目里的SDK的版本方法有几种,都比较简单:
1、右键单击项目--->properties---->Resource----->Android在Project Bulid Target对话框中选择你需要的Android版本。
2、Resource--->Libraries对话框右边的  Addlibraries--->Android Classpath Container---->Next--->选择项目名称即可
3、如果你还不放心,那么我们再看看AndroidManifest.xml里面找到  <uses-sdk android:minSdkVersion="10" />它表示最低可以兼容到android 2.3.3版本,看看是否修改成功了。
4、工程目录下,有个叫default.properties的文件,在AndroidManifest.xml下面 进去修改 target=android-XX
二,Android studio下更改项目的SDK版本:
在android studio里项目里有个local.properties的配置文件,进去修改sdk.dir=X:/XX/android_sdk是更改studio引入SDK的指定路径,再在STUDIO里的文件菜单下的project structrue,来配置增减指向的SDK里的各个版本。
也可以手动更改bulid.gradle文件
android {
    compileSdkVersion 10  
    buildToolsVersion "17.0.0"
    defaultConfig { 
        minSdkVersion 10
        targetSdkVersion 10
    }
}

补充知识点:①compileSdkVersion, minSdkVersion 和 targetSdkVersion 的作用

1>compileSdkVersion 告诉 Gradle 用哪个 Android SDK 版本编译你的应用。需要强调的是修改 compileSdkVersion 不会改变运行时的行为。当你修改了 compileSdkVersion 的时候,可能会出现新的编译警告、编译错误,但新的 compileSdkVersion 不会被包含到 APK 中:它纯粹只是在编译的时候使用。(你真的应该修复这些警告,他们的出现一定是有原因的)

2>minSdkVersion 则是应用可以运行的最低要求 请记住,你所使用的库,如 Support Library 或 Google Play services,可能有他们自己的 minSdkVersion 。你的应用设置的 minSdkVersion 必需大于等于这些库的 minSdkVersion 。例如有三个库,它们的 minSdkVersion 分别是 4, 7 和 9 ,那么你的 minSdkVersion  必需至少是 9 才能使用它们。

3>????????将 target 更新为最新的 SDK 是所有应用都应该优先处理的事情。但这不意味着你一定要使用所有新引入的功能,也不意味着你可以不做任何测试就盲目地更新 targetSdkVersion ,请一定在更新 targetSdkVersion 之前做测试!你的用户会感谢你的。

Gradle 和 SDK 版本

在你的模块的 build.gradle 文件中(也可以在 Android Studio 的项目结构选项中)设置:

android {
  compileSdkVersion 23
  buildToolsVersion "23.0.1"   defaultConfig {
    applicationId "com.example.checkyourtargetsdk"
    minSdkVersion 7
    targetSdkVersion 23
    versionCode 1
    versionName “1.0”
  }
}

minSdkVersion 和 targetSdkVersion 与 compileSdkVersion 的另一个不同之处是它们会被包含进最终的 APK 文件中,如果你查看生成的 AndroidManifest.xml 文件,你会看到类似下面这样的标签:

<uses-sdk android:targetSdkVersion="23" android:minSdkVersion="7" />

综合来看

如果你按照上面示例那样配置,你会发现这三个值的关系是:

minSdkVersion <= targetSdkVersion <= compileSdkVersion

这种直觉是合理的,如果 compileSdkVersion 是你的最大值,minSdkVersion 是最小值,那么最大值必需至少和最小值一样大且 target 必需在二者之间。

理想上,在稳定状态下三者的关系应该更像这样:

minSdkVersion (lowest possible) <= 
    targetSdkVersion == compileSdkVersion (latest SDK)

用较低的 minSdkVersion 来覆盖最大的人群,用最新的 SDK 设置 target 和 compile 来获得最好的外观和行为。

作者:田满意 QQ:395278367