processing-android icon indicating copy to clipboard operation
processing-android copied to clipboard

Error in line #408 AndroidSDK.java with Windows

Open robertesler opened this issue 1 year ago • 0 comments

On a new install of P4 and Android mode v 4.6, I get this error: processing.mode.android.AndroidSDK$BadSDKException: Cannot find avdmanager in C:\Users\****\Documents\Processing\android\sdk\cmdline-tools\latest\bin at processing.mode.android.AndroidSDK.findCliTool(AndroidSDK.java:410) at processing.mode.android.AndroidSDK.<init>(AndroidSDK.java:167) at processing.mode.android.AndroidSDK.locate(AndroidSDK.java:537) at processing.mode.android.AndroidMode.checkSDK(AndroidMode.java:168) at processing.mode.android.AndroidEditor.<init>(AndroidEditor.java:86) at processing.mode.android.AndroidMode.createEditor(AndroidMode.java:83) at processing.app.Base.handleOpenInternal(Base.java:1613) at processing.app.Base.handleOpenUntitled(Base.java:1601) at processing.app.Base.handleNew(Base.java:1129) at processing.app.Base.changeMode(Base.java:1035) at processing.app.ui.Editor.lambda$rebuildModePopup$1(Editor.java:467) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:411) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1028) at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1072) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389) at java.desktop/java.awt.Component.processEvent(Component.java:6391) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) It appears that this line: https://github.com/processing/processing-android/blob/363521a3d83982f540aeade89f3e5777de4226a5/processing/mode/src/processing/mode/android/AndroidSDK.java#L408

will always fail when looking for the 'avdmanager' and 'sdkmanager' because these are .bat files not .exe. The only .exe in your toolchain requirement is 'adb'.

Currently, there is no way to install Android mode v 4.6 on WIndows.

Version 4.5.1 does work and it appears that you do check for both .bat and .exe files in the findCliTool() method.

robertesler avatar Jun 25 '24 22:06 robertesler