SpockAdb icon indicating copy to clipboard operation
SpockAdb copied to clipboard

Many options are broken starting from Android Studio Chipmunk

Open humazed opened this issue 3 years ago • 2 comments

open current activity, open current fragment and open current app back stack are broken in Android Studio Chipmunk and all subsequent versions.

here is the stack trace I'm getting

java.lang.IncompatibleClassChangeError: Method 'com.android.tools.idea.gradle.project.model.AndroidModuleModel com.android.tools.idea.gradle.project.model.AndroidModuleModel.get(org.jetbrains.android.facet.AndroidFacet)' must be InterfaceMethodref constant
	at spock.adb.command.GetApplicationIDCommand.execute(GetApplicationIDCommand.kt:13)
	at spock.adb.AdbControllerImp.getApplicationID(AdbControllerImp.kt:32)
	at spock.adb.AdbControllerImp.access$getApplicationID(AdbControllerImp.kt:20)
	at spock.adb.AdbControllerImp$currentFragment$1.invoke(AdbControllerImp.kt:127)
	at spock.adb.AdbControllerImp$currentFragment$1.invoke(AdbControllerImp.kt:126)
	at spock.adb.AdbControllerImp.execute(AdbControllerImp.kt:368)
	at spock.adb.AdbControllerImp.currentFragment(AdbControllerImp.kt:126)
	at spock.adb.SpockAdbViewer.initPlugin$lambda-14(SpockAdbViewer.kt:178)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:270)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6654)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
	at java.desktop/java.awt.Component.processEvent(Component.java:6419)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2790)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:891)
	at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:820)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:757)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:447)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:818)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:446)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:498)
	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)

humazed avatar Sep 27 '22 12:09 humazed

https://github.com/WahdanZ/SpockAdb/blob/b561510f756e6cb9294c99468679002c3c84f75b/src/main/kotlin/spock/adb/command/GetApplicationIDCommand.kt#L13-L14

replace by the code below will fix it:

    AndroidModel.get(it)?.applicationId 

com.wahdan.spockAdb-2.0.3-fix.jar.zip You can use this version. But the fragment detection method is different from WahandZ.

Nstd avatar Nov 17 '22 08:11 Nstd

@Nstd Thank you for the help.

Unfortunately, this didn't work open current activity, and open current fragment still showing SpockAdb: No activities found

image image

humazed avatar Nov 24 '22 12:11 humazed