0

Je crée un plugin avec IntelliJ IDEA pour android studio en utilisant IntelliJ API, ça marche bien sur IntelliJ mais quand je l'installe sur Android Studio ça ne marche pas. J'ai cette erreurAndroid studio plugin

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 version 2.2.1 IntelliJ IDEA version 2016.1.2

L'erreur dit java.lang.NoClassDefFoundError mais il est défini, mais le plugin fonctionne bien sur IntelliJ IDEA, et la classe est normalement définie

+0

Il ne peut pas trouver la classe org.json.JSONException. Utilisez-vous des dépendances externes? – Argb32

+0

Oui, j'utilise deux jars externes, mais le plugin fonctionne bien sur IntelliJ IDEA, cela me laisse penser que ce n'est pas un problème de compilation – nassim

Répondre

0

J'ai aussi rencontré ce problème.

Et je cherche depuis longtemps

Voici ma solution, vérifiez la sdk utilisation de votre idée est de même avec votre studio android, une fois que vous construisez le plug-in sous 1.8 et l'exécuter sur 1.7 peut provoquer ce problème

+0

Désolé pour le temps de réponse. J'ai corrigé mon problème mais je ne sais pas vraiment comment, le plugin fonctionne. J'ai utilisé le 1.8 sdk partout pour éviter ce genre de problèmes. Je vous remercie – nassim