<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [Android] EventLogTags.logtags簡單使用

      轉載來源:https://blog.csdn.net/yfbdxz/article/details/114702144

      1. 用EventLog.writeEvent打的日志(或EventLogTags.java方法打的日志),可以用logcat -b events查看
          frameworks/base/core/java/android/util/EventLog.java
              //tag:The event type tag code. value:value to log 
              public static native int writeEvent(int tag, var value);
              public static native void readEvents(int[] tags, Collection<Event> output);
              //從system/etc/event-log-tags讀后同時放到了sTagCodes,sTagNames兩個map中
              private static final String TAGS_FILE = "/system/etc/event-log-tags"; 
              private static HashMap<String, Integer> sTagCodes = null; 
              private static HashMap<Integer, String> sTagNames = null;
      
      
      1. EventLogTags.logtags 很多模塊有該文件, writeEvent()參數tag value也是在其中被聲明的
          packages/providers/BlacklistProvider/src/com/android/providers/black/EventLogTags.logtags
          packages/providers/CalendarProvider/src/com/android/providers/calendar/EventLogTags.logtags
          packages/providers/ContactsProvider/src/com/android/providers/contacts/EventLogTags.logtags
          packages/services/Telephony/src/com/android/phone/EventLogTags.logtags
          packages/apps/Settings/src/com/android/settings/EventLogTags.logtags
          packages/apps/QuickSearchBox/src/com/android/quicksearchbox/EventLogTags.logtags
          frameworks/base/services/core/java/com/android/server/EventLogTags.logtags
          frameworks/base/services/core/java/com/android/server/am/EventLogTags.logtags
          frameworks/base/packages/SystemUI/src/com/android/systemui/EventLogTags.logtags
      
      1. EventLogTags.logtags在Android.mk中配置
          logcat中LOCAL_SRC_FILES:= logcat.cpp event.logtags
          systemui中LOCAL_SRC_FILES := src/com/android/systemui/EventLogTags.logtags
      
      1. EventLogTags.logtags文件格式說明
         每一行大致三部分組成: Tag numbers + Tag names + (<名字>|數據類型[|數據單位]),(<名字>|數據類型[|數據單位])
         logcat打印內容就是第二部分+第三部分
         詳見:android/system/core/logcat/event.logtags
      
      
      1. EventLogTags.logtags編譯時被翻譯成了java
          frameworks/base/core/java/com/android/internal/logging/EventLogTags.logtags
          
              option java_package com.android.internal.logging;
              524287 sysui_view_visibility (category|1|5),(visible|1|6)
              524288 sysui_action (category|1|5),(pkg|3)
              524290 sysui_count (name|3),(increment|1)
              524291 sysui_histogram (name|3),(bucket|1)
          
          out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src/.../logging/EventLogTags.java
          
              public class EventLogTags {
                private EventLogTags() { }  // don't instantiate
              
                /** 524287 sysui_view_visibility (category|1|5),(visible|1|6) */
                public static final int SYSUI_VIEW_VISIBILITY = 524287;
              
                /** 524288 sysui_action (category|1|5),(pkg|3) */
                public static final int SYSUI_ACTION = 524288;
              
                /** 524290 sysui_count (name|3),(increment|1) */
                public static final int SYSUI_COUNT = 524290;
              
                /** 524291 sysui_histogram (name|3),(bucket|1) */
                public static final int SYSUI_HISTOGRAM = 524291;
              
                public static void writeSysuiViewVisibility(int category, int visible) {
                  android.util.EventLog.writeEvent(SYSUI_VIEW_VISIBILITY, category, visible);
                }
              
                public static void writeSysuiAction(int category, String pkg) {
                  android.util.EventLog.writeEvent(SYSUI_ACTION, category, pkg);
                }
              
                public static void writeSysuiCount(String name, int increment) {
                  android.util.EventLog.writeEvent(SYSUI_COUNT, name, increment);
                }
              
                public static void writeSysuiHistogram(String name, int bucket) {
                  android.util.EventLog.writeEvent(SYSUI_HISTOGRAM, name, bucket);
                }
              }
      
      1. EventLogTags.logtags相關腳本
          android/build/tools 目錄下有三個event_log相關的腳本  
              event_log_tags.py //讀取跟解析event_log_tags文件
              java-event-log-tags.py //把EventLogTags.logtags文件翻成java
              merge-event-log-tags.py //把多個EventLogTags.logtags合并成一個,并檢查number沖突
          
          merge-event-log-tags.py使用及/system/etc/event-log-tags文件創建時間點  
              詳見:android/build/core/Makefile -- .PHONY: event-log-tags
          
          遺留:event-log-tags被使用細節?其他兩個py被使用時間點?
      
      posted @ 2024-01-11 15:25  亦幻  閱讀(505)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 成人3D动漫一区二区三区| 狠狠亚洲色一日本高清色| 久久中文字幕一区二区| 成人国产精品日本在线观看| 精品国产线拍大陆久久尤物| 狠狠亚洲狠狠欧洲2019| 在线a人片免费观看| 激情综合五月丁香亚洲| 信丰县| 亚洲精品国模一区二区| 亚洲精品一区久久久久一品av| 精品一区二区成人精品| 国产在热线精品视频99公交| 国产精品视频全国免费观看| 亚洲成色在线综合网站| 江川县| 国产精品一区中文字幕| 99热门精品一区二区三区无码| 久久久久青草线综合超碰| 国产亚洲一在无在线观看| 精品一区二区av天堂| 精品一区二区三区蜜桃麻豆| 亚洲AVAV天堂AV在线网阿V| 99久久精品费精品国产一区二| 亚洲护士一区二区三区| 国产精品久久久久孕妇| 国产一区二区三区精品综合 | 66亚洲一卡2卡新区成片发布| 国产日韩综合av在线| 伊人久久大香线蕉av色婷婷色 | 久久影院综合精品| 亚洲国产精品一区二区第一页| 亚洲精品天堂一区二区| 国产精品人妻久久无码不卡| 撩起胸让我的?蹭来蹭去| 久久婷婷大香萑太香蕉AV人| 99久久亚洲综合网精品| 国产色无码精品视频免费| 亚洲欧美综合中文| 亚洲第一天堂无码专区| 亚洲男人的天堂久久香蕉|