Repository navigation
i got when trying to open the module maker plugin in ( Android Studio Otter 3 Feature Drop ) #80
Description
java.lang.UnsatisfiedLinkError: 'long org.jetbrains.skiko.swing.Direct3DSwingRedrawer.chooseAdapter(int)' at org.jetbrains.skiko.swing.Direct3DSwingRedrawer.chooseAdapter(Native Method) at org.jetbrains.skiko.swing.Direct3DSwingRedrawer.(Direct3DSwingRedrawer.kt:18) at org.jetbrains.skiko.swing.SwingRedrawerKt.createSwingRedrawer(SwingRedrawer.kt:42) at org.jetbrains.skiko.swing.SkiaSwingLayer$redrawerManager$1.invoke(SkiaSwingLayer.kt:71) at org.jetbrains.skiko.swing.SkiaSwingLayer$redrawerManager$1.invoke(SkiaSwingLayer.kt:69) at org.jetbrains.skiko.redrawer.RedrawerManager.findNextWorkingRenderApi(RedrawerManager.kt:31) at org.jetbrains.skiko.swing.SkiaSwingLayer.init(SkiaSwingLayer.kt:99) at org.jetbrains.skiko.swing.SkiaSwingLayer.addNotify(SkiaSwingLayer.kt:94) at java.desktop/java.awt.Container.addImpl(Unknown Source) at java.desktop/javax.swing.JLayeredPane.addImpl(Unknown Source) at java.desktop/java.awt.Container.add(Unknown Source) at androidx.compose.ui.awt.ComposePanel.add(ComposePanel.desktop.kt:175) at androidx.compose.ui.scene.ComposeSceneMediator.(ComposeSceneMediator.desktop.kt:350) at androidx.compose.ui.scene.ComposeSceneMediator.(ComposeSceneMediator.desktop.kt:113) at androidx.compose.ui.scene.ComposeContainer.(ComposeContainer.desktop.kt:130) at androidx.compose.ui.scene.ComposeContainer.(ComposeContainer.desktop.kt:84) at androidx.compose.ui.awt.ComposePanel.createComposeContainer(ComposePanel.desktop.kt:198) at androidx.compose.ui.awt.ComposePanel.addNotify(ComposePanel.desktop.kt:187) at java.desktop/java.awt.Container.addNotify(Unknown Source) at java.desktop/javax.swing.JComponent.addNotify(Unknown Source) at java.desktop/java.awt.Container.addNotify(Unknown Source) at java.desktop/javax.swing.JComponent.addNotify(Unknown Source) at java.desktop/java.awt.Container.addNotify(Unknown Source) at java.desktop/javax.swing.JComponent.addNotify(Unknown Source) at java.desktop/java.awt.Container.addNotify(Unknown Source) at java.desktop/javax.swing.JComponent.addNotify(Unknown Source) at java.desktop/java.awt.Container.addNotify(Unknown Source) at java.desktop/javax.swing.JComponent.addNotify(Unknown Source) at java.desktop/javax.swing.JRootPane.addNotify(Unknown Source) at java.desktop/java.awt.Container.addNotify(Unknown Source) at java.desktop/java.awt.Window.addNotify(Unknown Source) at java.desktop/java.awt.Dialog.addNotify(Unknown Source) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.addNotify(DialogWrapperPeerImpl.java:764) at java.desktop/java.awt.Window.pack(Unknown Source) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.pack(DialogWrapperPeerImpl.java:651) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:789) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.lambda$show$6(DialogWrapperPeerImpl.java:485) at com.intellij.openapi.application.WriteIntentReadAction.lambda$run$0(WriteIntentReadAction.java:24) at com.intellij.openapi.application.impl.AppImplKt$rethrowCheckedExceptions$2.invoke(appImpl.kt:106) at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.doRunWriteIntentReadAction(NestedLocksThreadingSupport.kt:666) at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runPreventiveWriteIntentReadAction(NestedLocksThreadingSupport.kt:640) at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:633) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1166) at com.intellij.openapi.application.WriteIntentReadAction.compute(WriteIntentReadAction.java:55) at com.intellij.openapi.application.WriteIntentReadAction.run(WriteIntentReadAction.java:23) at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:484) at com.intellij.openapi.ui.DialogWrapper.lambda$doShow$16(DialogWrapper.java:1824) at com.intellij.openapi.application.WriteIntentReadAction.lambda$run$0(WriteIntentReadAction.java:24) at com.intellij.openapi.application.impl.AppImplKt$rethrowCheckedExceptions$2.invoke(appImpl.kt:106) at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.doRunWriteIntentReadAction(NestedLocksThreadingSupport.kt:666) at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runPreventiveWriteIntentReadAction(NestedLocksThreadingSupport.kt:640) at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:633) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1166) at com.intellij.openapi.application.WriteIntentReadAction.compute(WriteIntentReadAction.java:55) at com.intellij.openapi.application.WriteIntentReadAction.run(WriteIntentReadAction.java:23) at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1823) at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1771) at com.joetr.modulemaker.ModuleMakerAction.actionPerformed(ModuleMakerAction.kt:21) at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.kt:439) at com.intellij.openapi.actionSystem.ex.ActionUtil.performAction$lambda$7(ActionUtil.kt:399) at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.performWithActionCallbacks(ActionManagerImpl.kt:1167) at com.intellij.openapi.actionSystem.ex.ActionUtil.performAction(ActionUtil.kt:398) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.performAction$lambda$5(ActionMenuItem.kt:269) at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:234) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.performAction(ActionMenuItem.kt:262) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.init$lambda$0(ActionMenuItem.kt:71) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed$lambda$4(ActionMenuItem.kt:102) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:110) at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:99) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.kt:101) at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:521) at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:554) at java.desktop/java.awt.Component.processMouseEvent(Unknown Source) at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source) at java.desktop/java.awt.Component.processEvent(Unknown Source) at java.desktop/java.awt.Container.processEvent(Unknown Source) at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.Component.dispatchEvent(Unknown Source) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.Component.dispatchEvent(Unknown Source) at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.EventQueue$4.run(Unknown Source) at java.desktop/java.awt.EventQueue$4.run(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.desktop/java.awt.EventQueue$5.run(Unknown Source) at java.desktop/java.awt.EventQueue$5.run(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:595) at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:540) at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$16(IdeEventQueue.kt:479) at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.doRunWriteIntentReadAction(NestedLocksThreadingSupport.kt:666) at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runPreventiveWriteIntentReadAction(NestedLocksThreadingSupport.kt:640) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:479) at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$12$lambda$11$lambda$10$lambda$9(IdeEventQueue.kt:313) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:865) at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$12$lambda$11$lambda$10(IdeEventQueue.kt:312) at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$3(IdeEventQueue.kt:974) at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:118) at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:974) at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$12(IdeEventQueue.kt:307) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:347) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop/java.awt.EventDispatchThread.run(Unknown Source this the error
Activity
j-roskopf commentedon Feb 10, 2026
I'm unable to repro unfortunately when I target otter 3 feature drop. the skiko in the stack trace potentially leads me to think it's OS related. are you on linux / windows / mac?
MyDestinyStudio commentedon Feb 11, 2026
Windows 11 . and thanks for your response
Ruben2112 commentedon Feb 18, 2026
Came here to report the same, also on Windows 11 (AS 2025.2.1). To clarify, the plugin window refuses to open because of this, so the plugin is currently not working at all for me.
Edit: It's the next day and it's working again, so maybe the issues resolves itself after a complete Windows restart. Restarting just AS did not help.
MyDestinyStudio commentedon Feb 18, 2026
addition note : i have to install an older version of android studio : Android Studio Narwhal 4 Feature Drop | 2025.1.4 ,
for the plugin to work
i open the older one create the modules and then go back to the new Android Studio
j-roskopf commentedon Feb 21, 2026
ugh, i'm sorry to hear that. that's a very annoying experience. I currently only have a mac and linux development environment. i tried updating the code locally to point to otter 3 feature drop and everything loaded fine for me in my local dev environment on mac + linux as well as when installing the plugin via the intellij marketplace on my otter 3 feature drop version of android studio. I'll have to get a hold of a copy of windows to see if i can repro.
mm.mov
j-roskopf commentedon Feb 21, 2026
okay i found an old hard drive that had windows installed on it
i started on giraffe and verified that the latest version of the plugin (1.1.1) worked on that giraffe before updating
I updated android studio to the latest version (panda) and was able to repro, i'll start debugging!
j-roskopf commentedon Feb 21, 2026
alright things were working for me on mac + windows while working on this PR #81
I'll publish a new 1.1.2 and release it shortly. please let me know if this new version works for you! if you want to download the zip early and install it locally, it's under the release for 1.1.2 https://github.com/j-roskopf/ModuleMakerPlugin/releases/tag/release%2F1.1.2
I've created an issue to run UI tests across mac / linux / windows on CI to help catch this type of issue in the future.
j-roskopf commentedon Feb 23, 2026
I actually ran into some issues in 1.1.2 and I pulled the release. I'd be curious if possible if one of y'all could still try out that 1.1.2 version on the release tab and let me know if it works for you.
MyDestinyStudio commentedon Feb 23, 2026
still not working
java.lang.NoClassDefFoundError: freemarker/template/TemplateException
at com.joetr.modulemaker.file.FileWriter.(FileWriter.kt:27)
at com.joetr.modulemaker.ModuleMakerDialogWrapper.(ModuleMakerDialogWrapper.kt:78)
at com.joetr.modulemaker.ModuleMakerAction.actionPerformed(ModuleMakerAction.kt:18)
at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.kt:439)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performAction$lambda$7(ActionUtil.kt:399)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.performWithActionCallbacks(ActionManagerImpl.kt:1167)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performAction(ActionUtil.kt:398)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.performAction$lambda$5(ActionMenuItem.kt:269)
at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:234)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.performAction(ActionMenuItem.kt:262)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.init$lambda$0(ActionMenuItem.kt:71)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed$lambda$4(ActionMenuItem.kt:102)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:110)
at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:99)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.kt:101)
at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:521)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:554)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:595)
at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:540)
at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$16(IdeEventQueue.kt:479)
at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.doRunWriteIntentReadAction(NestedLocksThreadingSupport.kt:666)
at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runPreventiveWriteIntentReadAction(NestedLocksThreadingSupport.kt:640)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:479)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$12$lambda$11$lambda$10$lambda$9(IdeEventQueue.kt:313)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:865)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$12$lambda$11$lambda$10(IdeEventQueue.kt:312)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$3(IdeEventQueue.kt:974)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:118)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:974)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$12(IdeEventQueue.kt:307)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:347)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: freemarker.template.TemplateException PluginClassLoader(plugin=PluginMainDescriptor(name=Module Maker, id=ccom.joetr.modulemaker, version=1.1.2, isBundled=false, path=~\AppData\Roaming\Google\AndroidStudio2025.2.3\plugins\Module Maker-1.1.2.jar), packagePrefix=null, state=active, parents=ContentModuleDescriptor(moduleName=intellij.relaxng) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=252.28238.7, isBundled=true, path=C:\Program Files\Android\Android Studio\lib), ContentModuleDescriptor(moduleName=intellij.platform.vcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=252.28238.7, isBundled=true, path=C:\Program Files\Android\Android Studio\lib), ContentModuleDescriptor(moduleName=intellij.platform.vcs.log.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=252.28238.7, isBundled=true, path=C:\Program Files\Android\Android Studio\lib), ContentModuleDescriptor(moduleName=intellij.spellchecker) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=252.28238.7, isBundled=true, path=C:\Program Files\Android\Android Studio\lib), ContentModuleDescriptor(moduleName=intellij.spellchecker.xml) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=252.28238.7, isBundled=true, path=C:\Program Files\Android\Android Studio\lib), ContentModuleDescriptor(moduleName=intellij.platform.tasks) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=252.28238.7, isBundled=true, path=C:\Program Files\Android\Android Studio\lib), ContentModuleDescriptor(moduleName=intellij.platform.tasks.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=252.28238.7, isBundled=true, path=C:\Program Files\Android\Android Studio\lib), ContentModuleDescriptor(moduleName=intellij.platform.vcs.dvcs.impl) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=252.28238.7, isBundled=true, path=C:\Program Files\Android\Android Studio\lib), ContentModuleDescriptor(moduleName=intellij.platform.collaborationTools) <- PluginMainDescriptor(name=IDEA CORE, id=com.intellij, version=252.28238.7, isBundled=true, path=C:\Program Files\Android\Android Studio\lib), )
at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.kt:159)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 62 more
j-roskopf commentedon Feb 23, 2026
@MyDestinyStudio hey! that template exception occurs when creating the module, does that mean 1.1.2 opened for you correctly on windows?
MyDestinyStudio commentedon Feb 23, 2026
@j-roskopf no i just try to open it
j-roskopf commentedon Feb 24, 2026
I believe I have fixed this in 1.2.0 - i have uploaded it to jetbrains marketplace today and it should be available in 1-3 days (or you can install it early from the Github releases page) - please let me know if that fixes your issue!
j-roskopf commentedon Mar 1, 2026
I see it published. I unfortunately had to raise the minimum version supported to AS Panda. I'll close the issue but please let me know if you experience any issues!
MyDestinyStudio commentedon Mar 1, 2026
thank you it work now