为什么Android Studio 3.0不支持默认和静态接口方法(why Default and static interface methods are not supported by Android Studio 3.0)
为什么Android Studio 3.0不支持Java 8的[默认和静态接口方法]?
代码总是得到错误提示。
build.gradle设置:
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "com.dreamzone.mtime"
minSdkVersion 18
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
Why [Default and static interface methods] of java 8 are not supported in Android Studio 3.0?
The code always got the error hint.
The build.gradle settings :
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "com.dreamzone.mtime"
minSdkVersion 18
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
But android studio doc shows it can compatible any api level. https://developer.android.com/studio/write/java8-support.html
原文:https://stackoverflow.com/questions/47488126
更新时间:2020-02-18 23:09
最满意答案
您需要通过android闭包内的compileOptions闭包在模块的build.gradle文件中设置Java 8兼容性:
apply plugin: 'com.android.application'
android {
// other good stuff here
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
You need to set Java 8 compatibility in your module's build.gradle file, via the compileOptions closure inside the android closure:
apply plugin: 'com.android.application'
android {
// other good stuff here
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
2017-11-25
相关问答
您可以在您的应用程序build.gradle的默认配置中添加以下行: defaultConfig{
vectorDrawables.useSupportLibrary = true
}
编辑:你还需要添加这个依赖关系,如果你还没有 dependencies {
compile 'com.android.support:appcompat-v7:26.1.0'
}
You can add the following line inside your default config o
...
首先使缓存无效并重新启动,然后清理项目并重建它.hop有帮助。 First Invalidate caches and restart, then clean the project and rebuild it .hope it helps.
你的错误是: Multiple dex files define Lorg/apache/commons/io/filefilter/AgeFileFilter
两个(或许更多)依赖项提供了一个org.apache.commons.io.filefilter.AgeFileFilter类。 由于您碰巧在您的dependencies compile 'org.apache.commons:commons-io:1.3.2' ,因此该库肯定会提供此类。 无论如何,在我的项目中使用这个库没有发生错误?
...
我也遇到了同样的问题并解决了它。 尝试将Realm插件更新到4.2.0。 请参阅RealmTransformer中未发布的文件句柄·问题#5521·realm / realm-java I also encountered the same problem and solved it. Try to update Realm plugin to 4.2.0. See File handles are not released in RealmTransformer · Issue #5521 ·
...
它在Android Studio中称为Folding 。 首先确保它在config中启用(它应该是默认的)。 转到File - > Settings ,然后在IDE Settings区域下找到Editor -> Code Folding ,选中Show code folding outline 。 要折叠/展开项目,请使用“ Code - > Folding菜单。 编辑: 要自定义这些打开的设置( File - > Settings )的键盘快捷键,然后在IDE Settings下选择Keymap
...
基本上你需要运行lint .. 在Android Studio中,只要编译程序,就会自动运行已配置的lint和其他IDE检查。 您还可以通过从应用程序或右键单击菜单中选择“分析”>“检查代码”,在Android Studio中手动运行检查。 将出现“指定检查范围”对话框,以便您指定所需的检查配置文件和范围。 basically you need to run the lint.. In Android Studio, the configured lint and other IDE inspec
...
删除文件开头的“10_”可以解决问题。 由于您不能拥有带有数字名称的资源,请阅读此内容 。 如果这些可绘制的资源是图标,您可以使用您可以在此处阅读的常用命名约定,并通过“ic_”或“ic_menu”开始您的图标,如果这是菜单图标和操作栏图标。 removing the "10_" at the beginning of your files can fix the issue. For the reason why you can't have a resource with a numeric
...
我遇到了同样的错误,就像您一样,我没有将Twitter指定为可用的登录提供程序之一。 通过将Twitter SDK库添加到应用程序依赖项,我能够消除错误: implementation ("com.twitter.sdk.android:twitter-core:3.0.0@aar") {
transitive = true
}
I was getting the same error, and like you, I am not specifying Twitter as one o
...
我已经解决了这个问题,事实证明,问题的原因是在编写必要的依赖项(在模块build.gradle文件中)之后将库导入JAR / AAR文件以获得相同的库; 因此,在删除JAR / AAR文件后,我的应用程序能够运行 I've solved the issue, as it turns out, the cause of the problem was importing JAR/AAR files as libraries AFTER writing the necessary dependenci
...
您需要通过android闭包内的compileOptions闭包在模块的build.gradle文件中设置Java 8兼容性: apply plugin: 'com.android.application'
android {
// other good stuff here
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility Java
...