【发布时间】:2016-11-12 06:36:59
【问题描述】:
我是在 Android Studio 中构建 Android 应用程序的新手。当我尝试预览看起来像是追溯到 RecyclerView 小部件的布局文件时,我不断收到此渲染错误。我意识到我实际上并没有在我的代码中使用 RecyclerView,所以我从 build.gradle 的依赖部分中删除了 compile 'com.android.support:cardview-v7:24.2.0' 行。但是在我清理并重建甚至删除 .gradle/caches 文件夹中的所有内容之后,我仍然收到错误消息。当我在我的代码中搜索“RecyclerView”时,我可以看到我的app 文件夹中仍然有一个包android.support.v7.recyclerview(即使我在我的实际目录中看不到这些文件?)。
我怎样才能完全摆脱 RecyclerView?
这是我看到的错误的堆栈跟踪:
java.lang.IllegalStateException:无法在 android.view.DisplayInfo.findMode(DisplayInfo.java:458) 在 android.view.DisplayInfo.getMode(DisplayInfo.java:445) 在 android.view.Display.getRefreshRate(Display.java:648) 在 android.support.v7.widget.RecyclerView.onAttachedToWindow(RecyclerView.java:2392) 在 android.view.View.dispatchAttachedToWindow(View.java:15392) 在 android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2953) 在 android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) 在 android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) 在 android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) 在 android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960) 在 android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:42) 在 com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:333) 在 com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429) 在 com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389) 在 com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548) 在 com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533) 在 com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966) 在 com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533) 在 com.android.tools.idea.rendering.RenderTask.lambda$inflate$53(RenderTask.java:659) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)
知道这里发生了什么吗?
编辑:
这是我的build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.theprotectors.theprotectors"
minSdkVersion 21
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'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:+'
compile 'com.android.support:cardview-v7:24.2.0'
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
}
【问题讨论】: