![](/img/trans.png)
[英]Android Design Support Library And Material Design Backwards Compatibility?
[英]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.