我在控制台中看到调试语句,但调试器不会在任何断点处停止。我尝试清除所有断点并将它们重新添加。不知道这是怎么发生的,但确实如此。
12 回答
对我有用的解决方案:
- 只需从设备上卸载应用程序(在设备上手动)并再次尝试调试(!)
如果您使用 Android Studio,请单击debug app
而不是run app
:
根据这个答案,在build.gradle
您的应用程序模块内部,为您的构建变体禁用 minifyEnable 并将其更改为 false。那么,应该是:
minifyEnabled false
Line number not available in class xxxx
否则,当您将鼠标悬停在断点标记上时,您会看到它们上面会带有一个十字
您是否在 AndroidManifest 中设置了 debuggable 标志?如果您错过了,请在应用程序标签中添加 android:debuggable="true"。最后应该是这样的:
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
在我的情况下,单击“将调试器附加到 Android 进程”
它会显示一个窗口,上面写着“选择进程”选择您正在使用的设备,然后选择您要调试的项目。它有效。
有时,当您第一次打开调试器时,调试器需要重新连接到设备。
对于 Android 工作室:
- 检查是否
Mute Breakpoints
错误地启用了该选项。图标如下所示:
对于日食:
- 检查是否错误地启用了“跳过所有断点”选项。它是以下工具栏上的最后一个图标
您是否执行了“Debug As --> Android Application”而不是“Run As”?
仅当您执行“调试为”时,eclipse 才会在断点处停止。
我有同样的问题。转到 build.gradle。如果您有此代码,则必须更改此代码。
buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' }
debug { debuggable true minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
'proguard-rules.pro' } }
调试部分应如下所示:
buildTypes { release { minifyEnabled false shrinkResources false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' }
debug { debuggable true minifyEnabled false shrinkResources false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
'proguard-rules.pro' } }
我希望你的问题得到解决
android:process=":service"
就我而言,该应用程序在 AndroidManifest 中创建了一个具有不同进程的服务。因此,当调试器自动附加到主应用程序进程时,我在服务进程代码中设置断点。我很愚蠢,但它可能会帮助别人。
您附加到服务流程Run > Attach Debugger To Android Process
并选择服务流程。android.os.Debug.waitForDebugger();
如果您无法及时手动附加,您可能需要添加到您的服务流程代码。
据我所知,没有办法在运行之前自动告诉 Android Studio 或 IntelliJ 附加到不同的进程。
如果您build type
在build.gradle
检查中添加了一些debuggable true
buildTypes {
debug {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
我遇到了这个问题,我清理了 build.gradle 的 buildTypes 部分并尝试使用年龄,这样它对我有用。
我有同样的问题并通过增加调试器超时值来解决它。模拟器在我的开发盒上慢得像狗,这就是阻止调试器在断点处捕获和停止的原因。我将超时值分别从 3000 更改为 10000 和 20000 更改为 60000,现在一切都很好。
五。