如何将AndroidStudio项目更改为较低的sdk

时间:2016-10-14 07:09:50

标签: android sdk project-settings

我目前正在运行:

AndroidStudio 2.2,Android sdk 24也可用。 Android SDK-Tools 25.2.2 Android Sdk-Platform-tools 24.03 Android sdk-build-tools 24.0.1

当我创建一个新的Blank Project时,这是构建gradle

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.1"
    defaultConfig {
        applicationId "com.example.test001"
        minSdkVersion 14
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'
    testCompile 'junit:junit:4.12'
}

我认为这是一个可以安装在运行4.0到7.0的设备上的应用程序 我如何更改它,使其从2.3.3运行到6.0,仍然使用相同的AndroidStudio安装。如何影响其他功能,如 google-play-services,appcompat-v7,设计版本。

2 个答案:

答案 0 :(得分:2)

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
    applicationId "com.example.test001"
    minSdkVersion 10
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

并改变你的依赖

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:design:23.1.0'

答案 1 :(得分:1)

实际上,minSdkVersion 14意味着这个应用程序可以运行在android os上,其中Vertia高于14,而14表示android 4.0。你可以改变这一行:minSdkVersion 10然后它可以在2.3.3及以上版本运行。你也可以设置maxSdkVersion来限制最高版本,但maxSdkVersion通常没有意义。

minSdkVersion和maxSdkVersion只能限制应用的安装。如果您的设备版本较低或版本高于您设置的版本,则无法在此设备上安装应用。

但是!如果您希望应用程序在多个版本上正常运行,则必须关注要支持的版本之间的差异。 targetSdkVersion 24表示您的应用程序非常适合android7,compileSdkVersion 24表示您的应用程序将使用此版本的SDK进行编译。

不同版本的API或功能可能会有相对较大的变化,或者在某些版本中,API是不同的。所以如果你想广泛支持,你需要关心不同版本的sdk之间的区别。如果api没有改变,你什么都不做,它可以运行良好。但是如果api改变了,你应该编写不同版本的代码。

如果将compileVersion更改为23,则应更改以下代码:

compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'

并且支持库仅适用于某些版本。您也应该关心它。