我在控制台中看到调试语句,但是调试器没有停在任何断点上。我尝试清除所有断点并重新添加它们,但不确定为什么会出现这种情况。
我在控制台中看到调试语句,但是调试器没有停在任何断点上。我尝试清除所有断点并重新添加它们,但不确定为什么会出现这种情况。
debug app
而不是run app
:
android:debuggable="true"
,这是被接受的答案建议的做法。 - RBTbuild.gradle
中,禁用minifyEnable以针对您的构建变体,并将其更改为false。然后,它应该是:minifyEnabled false
否则,当在断点标记上悬停时,您将看到类xxxx中无法使用行号
,并且它们将带有一个十字标记。<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
在我的情况下,点击"附加调试器到Android进程"
然后它将显示一个窗口,上面写着"选择进程"。选择你正在使用的设备,并选择要调试的项目。这样就可以了。
有时,在第一次打开调试器时,调试器需要重新附加到设备上。
Mute Breakpoints
。图标如下所示:我也遇到了同样的问题。 请前往 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'
}
}
调试(Debug)部分应该长得像这样:
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'
}
}
build.gradle
中添加了一些build type
,请检查是否将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'
}
}
android:process=":service"
在AndroidManifest中创建了一个不同进程的服务。因此,我在服务进程代码中设置断点,而调试器会自动附加到主应用程序进程上。这很愚蠢,但它可能会帮助其他人。Run>Attach Debugger To Android Process
将其附加到服务进程,并选择服务进程。如果您无法手动及时附加,请在服务进程代码中添加android.os.Debug.waitForDebugger();
。