我怎样才能告诉Android Studio (3.0.1)
不要在IntelliSense中显示API 26
函数呢?这是相当误导的。如果我不能使用这些函数,为什么它要建议我使用这些函数呢?
例如:如果我使用java.util.Date
,它会告诉我:
自API 16
起,不推荐使用"Date(int,int,int)":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'
}
谢谢大家!
2条答案
按热度按时间mm9b1k5b1#
自API 16起,不建议使用"Date(int,int,int)"
我希望应用程序在Android 7.0最大运行.
牛轧糖版本7.0 - 7.1.2,API 24 - 25
您可以测试设备正在运行哪个
API
,因此不要在旧设备上运行更高级的命令,否则会导致设备崩溃。此SDK_INT自Donut
(Android 1.6 / API4
)起可用。如果(安卓系统版本号SDK_INT〉=安卓系统版本号代码LOLLIPOP)
更改您的build. gradle以仅使用
API 24
:注解
(The
compile
配置现在为deprecated
,应替换为implementation
或API
。)参见support-library。
compileSdkVersion
是您问题的要点。我按您的要求做了,但通常的做法是尽可能高地编译(compileSdkVersion
),最低编译到可以支持更多设备的程度(minSdkVersion
)。ki1q1bka2#
我已经做了一个Java类,并找到了解决方案后
createChannels
是我的方法。