我昨天下载了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上停止我的应用。 我该如何解决这个问题?
答案 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
更新为targetSdkVersion
,24
更新为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平台工具来实现。
步骤进行: