如何告诉Android Studio (3.0.1)
不要在IntelliSense中显示API 26
个功能?这很容易让人误解。
如果我不能使用它们,为什么要提出这些功能?
示例:如果我使用java.util.Date
,它会告诉我:
'Date(int,int,int)'自
API 16
起已弃用:Android 4.1 (Jelly Bean)
如果我使用java.time.Localtime
,我会得到:
需要
API level 26
(当前分钟为API 24
)
我的gradle
是否正确?我希望该应用能够在Android 7.0
max。
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "xxx.xxx.xxx"
minSdkVersion 24
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'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.8'
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'io.paperdb:paperdb:2.6'
implementation 'com.github.yukuku:ambilwarna:2.0.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
谢谢!
答案 0 :(得分:1)
我制作了一个Java类,之后找到了解决方案
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
{
createChannels();
}
createChannels
是我的方法。
答案 1 :(得分:0)
从API 16开始,不推荐使用Date(int,int,int)'
已弃用,但您仍然可以使用,只是意味着可能有更好的方式。
我希望该应用在Android 7.0上运行。
Nougat 7.0 - 7.1.2,API 24 - 25
您可以测试哪个API
设备正在运行,因此不要在旧设备上运行更高级的命令,否则会导致设备崩溃。此SDK_INT自Donut
(Android 1.6 / API4
)。
if(android.os.Build.VERSION.SDK_INT> = android.os.Build.VERSION_CODES.LOLLIPOP)
将build.gradle 更改为仅使用API 24
:
android {
compileSdkVersion 24
//each version of the Android Gradle Plugin now has a default version of the build tools.
//buildToolsVersion "24.0.1" //minimum supported version (26.0.2) for Android Gradle Plugin 3.0.1
defaultConfig {
minSdkVersion 24
targetSdkVersion 24
}
dependencies {
//you don't need these with support:design
implementation 'com.android.support:appcompat-v7:24.0.1'
implementation 'com.android.support:support-v4:24.1.0'
implementation 'com.android.support:design:24+' //26 for AS 3 ?
}
(compile
配置现在为deprecated
,应由implementation
或API
替换。)
见support-library。
compileSdkVersion
是您提问的要点。我按照你的要求做了,但通常的做法是尽可能高地编译(compileSdkVersion
),并尽可能低,以支持更多设备(minSdkVersion
)。