刚刚在Studio中创建了一个新的Android应用程序,我将compileSdkVersion和minSdkVersion设置为16,因为我想确保我不会在Android的更高版本中使用任何功能。
但是,我的build.gradle中的这一行似乎在更改后会导致编译错误:
compile 'com.android.support:appcompat-v7:23.0.0'
当我发表评论时,编译将会成功。我不需要这条线吗?我认为ActionBar等是必要的。
我是否有错误的想法,首先将compileSdkVersion更改为16,以确保我不使用新功能?
答案 0 :(得分:2)
我相信你想支持sdk版本16+,为此,只需将minSdkVersion设置为16并使用compileSdkVersion作为最新版本,即23
通过这样做,如果您使用版本17+中引入的新功能,编译时或在Android Studio中编辑代码时将显示错误/警告。
修改:更多细节
你应该这样做的原因之一,因为你的代码可以有这样的东西:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
实际上这也是支持库的工作方式。
http://developer.android.com/training/basics/supporting-devices/platforms.html
答案 1 :(得分:1)
您应该将 Android SDK平台更新为最新的 Android 6.0 API 23。
我遇到了同样的问题,因为我刚刚从SDK Manager更新了支持库,但没有更新SDK平台。
Check this out http://img.techentice.com/img/Android-adk-android-6.jpg
或 'com.android.support:appcompat-v7:22.2.1'
而不是下载SDK平台
答案 2 :(得分:1)
但是,我的build.gradle中的这一行似乎在更改后会导致编译错误: 编译'com.android.support:appcompat-v7:23.0.0'
这是因为支持库v23需要API23来编译项目。
在build.gradle
中,将compileSdkVersion
更改为 23 。
compileSdkVersion 23
当我发表评论时,编译将会成功。我不需要这条线吗?我认为ActionBar等是必要的。
使用minsdk = 16我建议你使用appcompat库。像工具栏这样的小工具,以及所有design support library(CollapsingToolbar,Snackbar ...)都需要appCompat。
另外,如果你想在api16中向后移植材料设计,你需要它。
答案 3 :(得分:1)
如果您想使用最新版本进行编译而不是更新&将SDK安装到最新版本的API 23。
如果你真的想编译&在API 16和API上为您的应用提供支持我希望不添加以后版本的支持(这对我来说没有意义可能对你有好处)然后根据你的陈述
我将compileSdkVersion和minSdkVersion设置为16,因为我想 确保我在Android的后续版本中不使用任何功能
然后将compileSdkVersion设置为16,将minSdkVersion设置为16,将targetSdkVersion设置为16
&安培;依赖为compile'com.android.support:appcompat-v6:16.0.0'
检查SDK中的API 16部分。应该安装
你build.gradle应该是这样的
apply plugin: 'com.android.application'
android {
compileSdkVersion 16
buildToolsVersion "16.0.0"
defaultConfig {
applicationId "com.example.inzi.mapofcontacts"
minSdkVersion 16
targetSdkVersion 16
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v6:16.0.0'
}
根据你的问题,它可能对你有帮助。