应用程序在调试器模式下运行,调试器将无法连接

时间:2012-02-02 13:31:29

标签: android eclipse debugging intellij-idea breakpoints

我的Android应用程序以某种方式停止了对断点的关注。我添加了

android:debuggable="true"

到清单。所以现在是:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="net.innodigital.iptv.PackVideo"
    android:versionCode="1"
    android:versionName="1.0">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.SET_DEBUG_APP"/>

<uses-sdk android:minSdkVersion="10" />

<application android:icon="@drawable/icon" android:label="@string/app_label" android:debuggable="true">
    <activity android:name="PackVideo"
              android:label="@string/app_label"
              android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
              >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="ChannelsListActivity"
        android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
              >
        <intent-filter>
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity android:name="ServerSetActivity"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
              >
        <intent-filter>
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>
</manifest>

我已将调试器超时返回到默认的3000毫秒。

我重启了我正在使用的设备和PC。

没有任何帮助。

我已经安装了IntelliJ IDEA 11并在那里运行调试。同样的反应:断点没有停止。

我应该在哪里看?事先感激不尽。

编辑:似乎调试器无法连接。即使我将超时设置为10秒。

Attempting to connect debugger to 'net.innodigital.iptv.PackVideo' on port 8615

永远等待。

2 个答案:

答案 0 :(得分:5)

何!它很有意思。它发生了,昨天我已导出APK并将其安装在同一台设备上。而且似乎该应用程序的实例没有让PC上的实例(新调试)安装到设备中。但它开始反过来运行。并且调试器无法将旧的APK与新的(即使是几乎相同的)代码连接起来。这解释了:

  1. 为什么两者 IntelliJ IDEA和Eclipse无法将调试器连接到应用程序
  2. 为什么在从设备卸载应用程序后,调试启动运行正常。
  3. 可以得出什么有趣的结论:

    1. 我们不应该混合不同类型的安装(从PC,从SD)。卸载一个,而不是安装另一个。
    2. 来自PC和SD的安装表现不同。这可能会导致其他不良影响。我们应该意识到这一点。

答案 1 :(得分:4)

根据设备的不同,将其添加到清单可能有所帮助。

<uses-permission android:name="android.permission.SET_DEBUG_APP"/>