0

我使用IntelliJ API为IntelliJ IDEA创建了一个IntelliJ IDEA插件,它在IntelliJ上运行良好,但是当我在Android Studio上安装它时无法正常工作。我有这样的错误Android studio插件

org/json/JSONException 
java.lang.NoClassDefFoundError: org/json/JSONException 
    at MainAction.actionPerformed(MainAction.java:35) 
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:182) 
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:311) 
    at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:958) 
    at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:124) 
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:281) 
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) 
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:109) 
    at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:513) 
    at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:45) 
    at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:533) 
    at java.awt.Component.processMouseEvent(Component.java:6535) 
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) 
    at java.awt.Component.processEvent(Component.java:6300) 
    at java.awt.Container.processEvent(Container.java:2236) 
    at java.awt.Component.dispatchEventImpl(Component.java:4891) 
    at java.awt.Container.dispatchEventImpl(Container.java:2294) 
    at java.awt.Component.dispatchEvent(Component.java:4713) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) 
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) 
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) 
    at java.awt.Container.dispatchEventImpl(Container.java:2280) 
    at java.awt.Window.dispatchEventImpl(Window.java:2750) 
    at java.awt.Component.dispatchEvent(Component.java:4713) 
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) 
    at java.awt.EventQueue.access$500(EventQueue.java:97) 
    at java.awt.EventQueue$3.run(EventQueue.java:709) 
    at java.awt.EventQueue$3.run(EventQueue.java:703) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) 
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) 
    at java.awt.EventQueue$4.run(EventQueue.java:731) 
    at java.awt.EventQueue$4.run(EventQueue.java:729) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) 
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:866) 
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650) 
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:381) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 
Caused by: java.lang.ClassNotFoundException: org.json.JSONException PluginClassLoader[com.your.company.unique.plugin.visUML.id, 1.0] 
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:68) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 45 more 

的Android Studio版本2.2.1 IntelliJ IDEA的版本,2016年1月2日

错误说java.lang.NoClassDefFoundError但它的定义,但该插件运行良好的IntelliJ IDEA的,并班级通常定义为

+0

它无法找到org.json.JSONException类。 你在使用一些外部依赖关系吗? – Argb32

+0

是的,我使用两个外部罐子,但插件在IntelliJ IDEA上运行良好,这让我觉得它不是编译问题 – nassim

回答

0

我也遇到过这个问题。

我寻找很久

这里是我的解决方案,检查SDK你的想法用一样的是你的Android工作室,有的时候你1.8下构建插件和1.7运行需要,可能会导致此问题

+0

对于响应时间很抱歉。我解决了我的问题,但我真的不知道该怎么做,插件的工作原理。我在任何地方都使用1.8 sdk来避免这类问题。谢谢 – nassim