2014-11-11 3 views
0

내 MainActivity의 XML 파일을 미리하기 위해 노력하고있어 나는이 오류를 받고 있어요 인스턴스화 할 수 없습니다 .DrawerLayoutImplandroid.support.v4.widget.DrawerLayout은

내 주요 조각 및 탐색 드로어 조각이 정상적으로 작동합니다.

이 포럼 전체에서 검색 한 결과 아무리 많은 것을 시도해 보았습니다. 나는 도서관 내 Gradle을 빌드에 문제가 있어야합니다 알고하지만 난 내가 잘못 모르겠어요 : 나는 탐색 창을 사용하여 이후

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 21 
buildToolsVersion '21.0.0' 

defaultConfig { 
    applicationId "com.example.example" 
    minSdkVersion 17 
    targetSdkVersion 21 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     runProguard false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
}  
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
compile 'com.android.support:support-v4:21.0.0' 
compile 'com.parse.bolts:bolts-android:1.1.2' 
compile 'com.android.support:support-v13:21.0.0' 
compile fileTree(dir: 'libs', include: 'Parse-*.jar') 
compile project(':facebook') 
}  

V4는 안드로이드 스튜디오에 의해 자동으로 추가되었습니다. v13 필자는 프로젝트 구조 -> 종속성에 추가하여 도움이된다고 생각하면서 자신을 포함 시켰습니다. 두 .jar 파일을 내 libs 폴더에 복사하면 도움이 될 것입니다. 청소 된 프로젝트/동기화 된 gradle은 그 모든 작업을 수행 했으므로 수행해야 할 작업이 무엇인지 잘 모릅니다.

그냥 경우에, 여기에 안드로이드 스튜디오 activity_main.xml 나를 위해 만든 것입니다

<!-- A DrawerLayout is intended to be used as the top-level content view using match_parent for both width and height to consume the full space available. --> 
<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MainActivity"> 

<!-- As the main content view, the view below consumes the entire 
    space available using match_parent in both dimensions. --> 
<FrameLayout 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

<!-- android:layout_gravity="start" tells DrawerLayout to treat 
    this as a sliding drawer on the left side for left-to-right 
    languages and on the right side for right-to-left languages. 
    If you're not building against API 17 or higher, use 
    android:layout_gravity="left" instead. --> 
<!-- The drawer is given a fixed width in dp and extends the full height of 
    the container. --> 
<fragment android:id="@+id/navigation_drawer" 
    android:layout_width="@dimen/navigation_drawer_width" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:name="com.example.example.NavigationDrawerFragment" 
    tools:layout="@layout/fragment_navigation_drawer" /> 

</android.support.v4.widget.DrawerLayout> 

전체 스택 TRACE

java.lang.ClassNotFoundException: android.support.v4.widget.DrawerLayoutImpl 
at com.android.tools.idea.rendering.RenderClassLoader.findClass(RenderClassLoader.java:53) 
at org.jetbrains.android.uipreview.ProjectClassLoader.findClass(ProjectClassLoader.java:56) 
at java.lang.ClassLoader.loadClass(ClassLoader.) 
at java.lang.ClassLoader.loadClass(ClassLoader.) 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClassCond(ClassLoader.) 
at java.lang.ClassLoader.defineClass(ClassLoader.) 
at java.lang.ClassLoader.defineClass(ClassLoader.) 
at com.android.tools.idea.rendering.RenderClassLoader.loadClassFromJar(RenderClassLoader.java:93) 
at org.jetbrains.android.uipreview.ProjectClassLoader.loadClassFromModuleOrDependency(ProjectClassLoader.) 
at org.jetbrains.android.uipreview.ProjectClassLoader.load(ProjectClassLoader.java:89) 
at com.android.tools.idea.rendering.RenderClassLoader.findClass(RenderClassLoader.java:56) 
at org.jetbrains.android.uipreview.ProjectClassLoader.findClass(ProjectClassLoader.java:56) 
at java.lang.ClassLoader.loadClass(ClassLoader.) 
at java.lang.ClassLoader.loadClass(ClassLoader.) 
at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.) 
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:96) 
at com.android.tools.idea.rendering.LayoutlibCallback.loadView(LayoutlibCallback.) 
at android.view.BridgeInflater.loadCustomView(BridgeInflater.) 
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.) 
at android.view.LayoutInflater.inflate(LayoutInflater.) 
at android.view.LayoutInflater.inflate(LayoutInflater.) 
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.) 
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.) 
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.) 
at com.android.tools.idea.rendering.RenderService$3.compute(RenderService.) 
at com.android.tools.idea.rendering.RenderService$3.compute(RenderService.) 
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.) 
at com.android.tools.idea.rendering.RenderService.createRenderSession(RenderService.) 
at com.android.tools.idea.rendering.RenderService.render(RenderService.) 
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.) 
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1900(AndroidLayoutPreviewToolWindowManager.java:80) 
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.) 
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.) 
at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.) 
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.) 
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.) 
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.) 
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.) 
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.) 
at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.) 
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.) 
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.) 
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.) 
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.) 
at com.intellij.util.Alarm$Request$1.run(Alarm.) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.) 
at java.util.concurrent.FutureTask.run(FutureTask.) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.) 
at java.lang.Thread.run(Thread.)  
+0

'support-v4'와 'support-v13' 모두 필요하지 않습니다. 'support-v13'는'support-v4'의 상위 집합이므로,'support-v4' 행을 없애는 것이 좋습니다. 그 이상으로, 전체 스택 추적을 게시하십시오. – CommonsWare

+0

전체 스택 추적을 포함하도록 편집했습니다. – kkl260

+0

Android Studio에서 라이브러리의 위젯을 미리 볼 때 문제가있는 것으로 보입니다. 귀하의 문제가 이전에 미리보기와 함께 있다는 사실을 알지 못해서 사과드립니다. 귀하의 질문에이를 놓쳤습니다. – CommonsWare

답변

0

다시 설치 한 후 안드로이드 스튜디오 (v.2.2.2) (우분투 시스템) 내가 좋아하는 플러그인 (파일 -> 설정 -> 플러그인)에 대한 문제가 있었다에서 :

Problems found loading Plugins in Android Studio

그래서 플러그인을 끄고 스위치를 잊어 버렸습니다.. 그 후 많은 빌드 오류가 발생했습니다. 그 중 하나 :

android.support.v4.widget.DrawerLayout Cannot be instantiated

Android Studio를 복원하고 모든 플러그인을 다시 켜면 모든 오류가 사라졌습니다.

관련 문제