0

我目前运行:

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

当我创建一个新的空白项目时,这是构建 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,设计版本。

4

2 回答 2

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'
于 2016-10-14T07:15:01.917 回答
1

实际上,minSdkVersion 14 表示此应用可以在高于 14 版本的 android 操作系统上运行,而 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'

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

于 2016-10-14T07:39:13.267 回答