您的位置:首页 > 其它

adt无法解析drawable资源的解决办法

2012-05-15 10:18 246 查看
adt无法解析drawable资源的解决办法:

错误如下:

eclipse.buildId=M20120208-0800

java.version=1.6.0_31

java.vendor=Sun Microsystems Inc.

BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN

Framework arguments: -product org.eclipse.epp.package.java.product

Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product

Error

Tue May 15 10:15:23 CST 2012

rss_news_item.xml: Failed to parse file E:\work\aaa\res\drawable\list_item.xml

org.xmlpull.v1.XmlPullParserException: Binary XML file line #4: <item> tag requires a 'drawable' attribute or child tag defining a drawable

at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:165)

at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:788)

at android.graphics.drawable.Drawable.createFromXml(Drawable.java:729)

at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:208)

at com.android.layoutlib.bridge.android.BridgeTypedArray.getDrawable(BridgeTypedArray.java:731)

at android.view.View.<init>(View.java:1850)

at android.view.View.<init>(View.java:1799)

at android.view.ViewGroup.<init>(ViewGroup.java:284)

at android.widget.LinearLayout.<init>(LinearLayout.java:92)

at sun.reflect.GeneratedConstructorAccessor36.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

at android.view.LayoutInflater.createView(LayoutInflater.java:500)

at com.android.layoutlib.bridge.android.BridgeInflater.onCreateView(BridgeInflater.java:84)

at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)

at com.android.layoutlib.bridge.android.BridgeInflater.createViewFromTag(BridgeInflater.java:129)

at android.view.LayoutInflater.inflate(LayoutInflater.java:385)

at android.view.LayoutInflater.inflate(LayoutInflater.java:296)

at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:278)

at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:318)

at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:325)

at com.android.ide.eclipse.adt.internal.editors.layout.gle2.RenderService.createRenderSession(RenderService.java:372)

at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(GraphicalEditorPart.java:1323)

at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(GraphicalEditorPart.java:1077)

at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ReloadListener.reloadLayoutSwt(GraphicalEditorPart.java:1539)

at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ReloadListener.access$0(GraphicalEditorPart.java:1477)

at com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart$ReloadListener$1.run(GraphicalEditorPart.java:1471)

at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)

at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)

at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)

at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)

at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)

at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)

at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)

at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)

at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)

at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)

at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)

at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)

at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)

at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

解决方法:

在图形模式下打开资源文件,clean下project,关闭eclipse,然后重新打开eclipse,资源文件即可正常解析

open the layout in graphical layout editor.Clean the project.Keep the layout open in graphical editor, close eclipse and open it again.

The suggestion on comment #42 worked for me, in addition to removing the project library setting:

1. open the layout in graphical layout editor.

2. Clean the project.

3. Remove the project library setting.

4. Keep the layout open in graphical editor, close eclipse and open it again.

5. the layout should work now, you can check the project as library again.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐