Android Studio 在android中为类启用DEBUG

xn1cxnb4  于 2022-11-16  发布在  Android
关注(0)|答案(1)|浏览(160)

我可以使用以下命令打开SQLiteQueryBuilder的调试

adb shell setprop log.tag.SQLiteQueryBuilder DEBUG

我在使用Recyclerview时遇到了问题,并注意到它有一个DEBUG属性。

public class RecyclerView extends ViewGroup implements ScrollingView,
        NestedScrollingChild2, NestedScrollingChild3 {

    static final String TAG = "RecyclerView";

    static final boolean DEBUG = false;

所以我试着

adb shell setprop log.tag.RecyclerView DEBUG

但是我没有在Logcat中得到任何额外的调试,即使其中有Log.d调用。
那我到底做错了什么。
为了进入正题,我正在尝试做的是,在我遇到问题的时候,尝试准确地找出附加的回收器视图是什么。但是,知道如何在任何带有DEBUG属性的类中打开调试消息将是很好的。
在谷歌上搜了一大堆东西,但没什么收获

xxb16uws

xxb16uws1#

Log.d不是允许adb shell setprop <tag> DEBUG工作的函数。
来自:https://source.android.com/docs/core/tests/debug/understanding-logging#log-standards

if (Log.isLoggable("FOO_TAG", Log.VERBOSE)) {
  Log.v("FOO_TAG", "Message for logging.");
}

您可以看到,控制机制与其他条件沿着部分处于android.util.Log.isLoggable中。
那么,androidx.recyclerview.widget.RecyclerView(一个在编译应用程序时添加的库,而不是在设备/仿真器框架ROM中)是否包含该函数呢?
快速搜索:https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/RecyclerView.java
显示该特定类中没有Log.isLoggable(...)的条目。
就个人而言,任何派生的View类都应该有自己的个人/应用程序特定的日志字符串标识符,以便进行调试。

相关问题