Android中没有静态方法setOnApplyWindowInsetsListener异常

时间:2016-08-19 08:56:17

标签: android android-studio exception android-support-library

我昨天下载了Android Studio 2.1.3(在我使用1.5之前),现在我有这个例外:

java.lang.NoSuchMethodError: No static method setOnApplyWindowInsetsListener(Landroid/view/View;Landroid/support/v4/view/OnApplyWindowInsetsListener;)V in class Landroid/support/v4/view/ViewCompatLollipop; or its super classes (declaration of 'android.support.v4.view.ViewCompatLollipop'

在MainActivity中的setContentView上停止我的应用。 我该如何解决这个问题?

7 个答案:

答案 0 :(得分:17)

我有同样的问题。我尝试在最新下载的Android SDK版本(API 24)的另一个系统上运行我的代码。 app.iml我的代码是23.所以,我做的是打开compile 'com.android.support:design:23.1.1' 文件(位于app模块中),找到安装版本的组件并在build.gradle(app module)文件中更新它们。

喜欢,

compile 'com.android.support:design:24.2.0'

compileSdkVersion

并将buildToolsVersion更新为24,24.0.1更新为targetSdkVersion24更新为cleanName。 现在我的代码运行正常。

希望它有所帮助。

答案 1 :(得分:0)

我在更新android studio 2.1.2到2.1.3之后也遇到了这种类型的错误

尝试将MainActivity扩展到AppCompatActivity

MainActivity扩展活动

答案 2 :(得分:0)

这应该是与java.lang.NoSuchMethodError: No static method setOnApplyWindowInsetsListener

相同的问题

尝试仅对您的gradle文件中的所有“com.android.support:xxx:...”使用24.2.0版本。

BTW,现在,支持v4被拆分(https://developer.android.com/topic/libraries/support-library/revisions.html#24-2-0-v4-refactor)。尽量只使用你需要的东西;)

答案 3 :(得分:0)

在更新android studio 2.1.2到2.1.3之后我也遇到了这种类型的错误,因此我将AppCompat版本从23.4.0更改为24.2.0。希望它能奏效!祝你好运:)

答案 4 :(得分:0)

将支持库版本更改为最新解决了我的问题。

gradle.properties中定义的常量的快照:

BUILD_TOOLS_VERSION=23.0.2
COMPILE_SDK_VERSION=23
TARGET_SDK_VERSION=23
DESIGN_SUPPORT_VERSION=24.2.0 //changed from 23.2.0
APPCOMPAT_VERSION=24.2.0 //changed from 23.2.0
ANDROID_SUPPORT_VERSION=24.2.0 //changed from 23.2.0

我添加的依赖项的快照:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile ("com.android.support:appcompat-v7:${project.APPCOMPAT_VERSION}"){
        exclude module: 'support-v4'
    }
    compile "com.google.android.gms:play-services-analytics:${project.PLAY_SERVICES_VERSION}"
    compile "com.google.android.gms:play-services-gcm:${project.PLAY_SERVICES_VERSION}"
    compile "com.android.support:design:${project.DESIGN_SUPPORT_VERSION}"
    compile "com.android.support:recyclerview-v7:${project.ANDROID_SUPPORT_VERSION}"
    compile "com.android.support:cardview-v7:${project.ANDROID_SUPPORT_VERSION}"
    compile "com.google.android.gms:play-services-location:${project.PLAY_SERVICES_VERSION}"
    compile "com.google.android.gms:play-services-maps:${project.PLAY_SERVICES_VERSION}"
    /* google maps*/
    compile 'com.squareup.picasso:picasso:2.4.0'
    compile 'com.google.code.gson:gson:2.5'
    compile 'com.jakewharton:disklrucache:2.0.2'
    compile project(':volley')
}

答案 5 :(得分:0)

这是问题:

我也曾经遇到过这个问题,我发现我在我的gradle中使用了无效依赖:

compile 'com.android.support:design:24.2.1'
compile 'com.android.support:recyclerview-v7:24.2.1'
compile 'com.android.support:support-v4:24.2.1'

使用此版本的设计或其他一些库,它解决了我的问题。

由于

答案 6 :(得分:0)

我遇到了同样的问题。

这些是我的配置: compileSdkVersion 25 buildToolsVersion“25.0.2”

相关性: 编译'com.android.support:support-v4:25.3.1'

我尝试了很多东西,但最后它通过更新Android SDK平台工具来实现。

步骤进行:

  1. 打开SDK Manager
  2. Android SDK - > SDK工具
  3. 选择Android SDK平台 - 工具(26.0.0)& Android SDK工具(26.0.2)
  4. 下载后清洁&建立你的项目。