2015-07-05 4 views
0

Я разрабатывал панель инструментов для своего приложения для Android и после создания файла tool_bar.xml, в среде IDE отображается ошибка, из-за которой нельзя запускать следующие классы - андроид. support.v7.widget.Toolbar детальAndroid Studio: android.support.v7.widget.Toolbar не может быть запущен

enter image description here

Полных ошибок

java.lang.NoClassDefFoundError: android/support/v7/appcompat/R$attr 
    at android.support.v7.widget.Toolbar.<init>(Toolbar.java:191) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:413) 
    at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:105) 
    at com.android.tools.idea.rendering.LayoutlibCallback.loadView(LayoutlibCallback.java:177) 
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:214) 
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:142) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:482) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:385) 
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:413) 
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:321) 
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350) 
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:497) 
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:485) 
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894) 
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:485) 
    at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:590) 
    at com.intellij.android.designer.designSurface.AndroidDesignerEditorPanel$6.run(AndroidDesignerEditorPanel.java:480) 
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320) 
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310) 
    at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254) 
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269) 
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227) 
    at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217) 
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238) 
    at com.intellij.util.Alarm$Request$1.run(Alarm.java:351) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 

tool_bar.xml Моего файл:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" android:layout_height="match_parent"> 

</android.support.v7.widget.Toolbar> 

У любого есть идеи, почему это происходит? Я попытался сделать недействительным кеш, пересоздать и очистить проект, и не удалось. Также переключение на другую версию API также не получилось.

+0

попытался изменить уровень апи увидеть ссылку. может помочь вам http://stackoverflow.com/questions/29005958/android-sdk-22-searchview-rendering-problems/29822819#29822819 –

+0

Сделал это уже, но ошибка все еще остается – Vivek

ответ

1

ОК, наконец, я решил эту проблему. Все, что я сделал, это обновить мою Android-студию до последней стабильной сборки. Мой был на 1.2.1, последний стабильный был 1.2.2. Это решило проблему. Но так как я много искал об этом и обнаружил, что я не единственный, у кого есть этот вопрос, я хотел бы рассказать о возможных решениях/вещах, чтобы попробовать, чтобы это случилось с кем-либо еще :)

1. Обновить ваши инструменты и IDE

Иногда это может быть просто ошибка в ваших инструментах или IDE, которые могут быть исправлены путем обновления до последней версии.

2. Убедитесь, что вы добавили правильные зависимости для вашего Gradle файла

После не добавили правильные зависимостей или правильную версию зависимостей могут решить. В этом случае @404notfound предложил некоторые подробности об этом в его ответе. Проверьте это.

3. Очистите проект и затем Gradle синхронизации

Также попробуйте рендеринга на более низком уровне API, чтобы увидеть, если это работает!

1

Возможно, вам нужно настроить тему приложения на то, что наследует тему Theme.Appcompat.

Edit: Если вы импортировали больше поддержки вещи, добавьте в него:

compile ('com.android.support:recyclerview-v7:22.2.0') { 
    exclude module: 'support-v7' 
} 
compile ('com.android.support:cardview-v7:22.2.0') { 
    exclude module: 'support-v7' 
} 
compile 'com.android.support:appcompat-v7:22.2.0' 

Это предотвратит от импорта неправильной версии библиотеки поддержки других LIBS. Проверьте, имеют ли все поддерживающие библиотеки одинаковые версии.

+0

Тема уже подобна этому '