繁体   English   中英

设计支持库中不同模块的Android SDK兼容性

[英]Android SDK compatibility for different modules from the Design Support Library

我想在我的应用程序中创建一个底部导航,并通过Material Design提供的底部导航找到了一种简单的方法。

我唯一的问题是我希望该应用程序在Android SDK 23上运行,并且我可以看到从Material的底部导航需要compile 'com.android.support:design:25.0.0' ,而该文件需要'com.android.support:appcompat-v7:25.0.0' 目前,我正在使用23.4.0并且我假设更改此设置将使我的应用程序只能在Android SDK 25及更高版本上运行。

这个对吗?

不,那是不正确的。 编译版本和最低版本之间有很大的重要区别。 此更改仅在编译版本中。

  • 编译版本是编译器在编译代码时将查看的版本。 这只是让编译器知道设备上可用的方法。 例如,要知道一个Activity有一个findViewById ,一个ViewGroup有一个addView 只要您不使用高于最小值的方法就没有区别。

  • 最低版本是您要告诉Google Play和Android系统的最低版本,可以在该版本中安装您的应用,并且该版本应能正常运行。 那是限制可以安装哪个版本的版本。

有关更多信息,我建议您在https://developer.android.com/training/material/compatibility.html上阅读官方培训材料,更具体地说,在“检查系统版本”部分https://developer.android中阅读。 com / training / material / compatibility.html#CheckVersion

不用担心,您指的是compile 'com.android.support:design:25.0.0这只是您的依赖项,因此首先

1.-如果要使用'com.android.support:design:25.0.0 ,则应至少使用建筑版本25:

compileSdkVersion 25
buildToolsVersion '25.0.0'

2.-如果您在gradle中定义了小于25的最小SDK或目标SDK,则您的应用程序可与'com.android.support:design:25.0.0一起使用:

minSdkVersion 15
targetSdkVersion 25

现在看一下这个问题,来自适用于API 19的应用程序,并且底部导航视图可以正常工作

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.0'
    defaultConfig {
        applicationId "**********"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        multiDexEnabled = true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    dexOptions {
        jumboMode true
    }
    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:25.3.0'
    compile 'com.android.support:support-v4:25.3.0'
    compile 'com.android.support:design:25.3.0'
    compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'
    testCompile 'junit:junit:4.12'
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM