使用RuntimeException附加调试器失败:“无法按包名查找模块”

时间:2016-10-26 11:54:45

标签: android-studio android-ndk

当我尝试将Android Studio调试程序附加到Android进程时会发生这种情况。有时,这成功了。但大多数情况下,它在Android NDK支持插件中出现IDE内部错误失败,显示RuntimeException:“无法按包名找到模块”。

当这是第一次在当前Android Studio会话中发生此错误时,会弹出一个红色窗口,并显示以下错误消息:

  

发生IDE内部错误。点击查看详细信息并提交错误   报告。

IDE致命错误窗口包含以下消息:

  

插件Android NDK支持中的例外情况。

以下是错误消息和堆栈跟踪:

Cannot find module by package name
java.lang.RuntimeException: Cannot find module by package name
    at com.android.tools.ndk.run.editor.NativeAndroidDebugger.attachToClient(NativeAndroidDebugger.java:152)
    at com.android.tools.ndk.run.editor.AutoAndroidDebugger.attachToClient(AutoAndroidDebugger.java:98)
    at org.jetbrains.android.actions.AndroidConnectDebuggerAction.closeOldSessionAndRun(AndroidConnectDebuggerAction.java:65)
    at org.jetbrains.android.actions.AndroidConnectDebuggerAction.actionPerformed(AndroidConnectDebuggerAction.java:51)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:191)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$1.run(ActionMenuItem.java:312)
    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:282)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:110)
    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:6533)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6298)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    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:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    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:857)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:654)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:386)
    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)

我在Windows 10 Pro(64位)上使用的是Android Studio v.2.2.2,Android NDK支持v.1.0。

2 个答案:

答案 0 :(得分:7)

1.弹出调试对话框时,选择调试器Java而不是auto

这适合我。

2.第二个选择,删除.AndroidStudioXXX中的Android Studio配置目录

答案 1 :(得分:2)

以上方式1适合我。也许Android工作室默认尝试使用双模式,当你的项目也有C ++模块时。

enter image description here