600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Android11.0(R) MTK user版本打开MtkLog功能

Android11.0(R) MTK user版本打开MtkLog功能

时间:2021-05-23 04:45:28

相关推荐

Android11.0(R) MTK user版本打开MtkLog功能

MTKLog 功能很好用,在 userdebug 和 eng 版本中可以帮助我们分析问题。

今天来搞一下,在 User 版本中也启用这个功能。

修改清单

device/mediatek/system/common/mtklog/mtklog-config-bsp-eng.propdevice/mediatek/system/common/mtklog/mtklog-config-bsp-user.propdevice/mediatek/system/common/device.mkdevice/mediatek/vendor/common/device.mkvendor/mediatek/proprietary/packages/apps/EngineerMode/AndroidManifest.xmlvendor/mediatek/proprietary/packages/apps/EngineerMode/src/com/mediatek/engineermode/EngineerModeReceiver.javavendor/mediatek/proprietary/packages/apps/MTKLogger/Android.mkvendor/mediatek/proprietary/packages/apps/MTKLogger/src/com/debug/loggerui/utils/Utils.javavendor/mediatek/proprietary/external/NetworkLogD/netdiag/commandlistening.cpp

device/mediatek/system/common/mtklog/mtklog-config-bsp-eng.prop

device/mediatek/system/common/mtklog/mtklog-config-bsp-user.prop

@@ -1,5 +1,5 @@# mtk log path can be set as system_data or device_storage or portable_storage-mtklog_path = system_data+mtklog_path = internal_sdcom.mediatek.log.mobile.customer = MTK_Internalcom.mediatek.log.mobile.AllMode = true

device/mediatek/system/common/device.mk

@@ -672,13 +672,13 @@ $(call inherit-product-if-exists, vendor/mediatek/common/device-vendor.mk)# mtklog configifeq ($(strip $(MTK_BASIC_PACKAGE)), yes)- ifeq ($(TARGET_BUILD_VARIANT),eng)+ ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug user),)PRODUCT_COPY_FILES += $(LOCAL_PATH)/mtklog/mtklog-config-basic-eng.prop:system/etc/mtklog-config.prop:mtkelsePRODUCT_COPY_FILES += $(LOCAL_PATH)/mtklog/mtklog-config-basic-user.prop:system/etc/mtklog-config.prop:mtkendifelse- ifeq ($(TARGET_BUILD_VARIANT),eng)+ ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug user),)PRODUCT_COPY_FILES += $(LOCAL_PATH)/mtklog/mtklog-config-bsp-eng.prop:system/etc/mtklog-config.prop:mtkelsePRODUCT_COPY_FILES += $(LOCAL_PATH)/mtklog/mtklog-config-bsp-user.prop:system/etc/mtklog-config.prop:mtk@@ -2433,7 +2433,7 @@ ifneq ($(wildcard vendor/mediatek/internal/mtklog_enable),)MSSI_HAVE_AEE_FEATURE = noendif# Case: Customer eng/userdebug load-else ifneq ($(strip $(TARGET_BUILD_VARIANT)),user)+else ifneq ($(strip $(TARGET_BUILD_VARIANT)),eng userdebug user)PRODUCT_PACKAGES += log-handlerPRODUCT_PACKAGES += loghidlsysservice@@ -3656,7 +3656,7 @@ ifeq ($(strip $(MSSI_MTK_ENGINEERMODE_APP)), yes)PRODUCT_PACKAGES += libem_wifi_jniPRODUCT_PACKAGES += libem_audio_jnielse- ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug),)+ ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug user),)PRODUCT_PACKAGES += EngineerModePRODUCT_PACKAGES += libem_suppo

device/mediatek/vendor/common/device.mk

+++ b/alps/device/mediatek/vendor/common/device.mk@@ -779,7 +779,7 @@ ifeq ($(strip $(MTK_ENGINEERMODE_APP)),yes)DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_em.xmlPRODUCT_PACKAGES += em_hidlelse- ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug),)+ ifneq ($(filter $(TARGET_BUILD_VARIANT),eng userdebug user),)DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/project_manifest/manifest_em.xmlPRODUCT_PACKAGES += em_hidlendif

配置暗码进入 MTKLog app 界面

vendor/mediatek/proprietary/packages/apps/EngineerMode/AndroidManifest.xml

<dataandroid:host="3646633"android:scheme="android_secret_code" />++ <data+android:host="9527686"+android:scheme="android_secret_code" />+</intent-filter>

vendor/mediatek/proprietary/packages/apps/EngineerMode/src/com/mediatek/engineermode/EngineerModeReceiver.java

@@ -39,6 +39,7 @@ import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import .Uri;+import ponentName;/*** Broadcast receiver for EM start secret code.@@ -50,6 +51,11 @@ public final class EngineerModeReceiver extends BroadcastReceiver {private static final String SECRET_CODE_ACTION= "android.provider.Telephony.SECRET_CODE";+ // process *#*#3646633#*#*+ private final Uri mEmUri = Uri.parse("android_secret_code://05023646633");+ // process *#*#9527686#*#* mtklog+ private final Uri mMtklogUri1 = Uri.parse("android_secret_code://9527686");+@Overridepublic void onReceive(Context context, Intent intent) {if (intent.getAction() == null) {@@ -57,10 +63,24 @@ public final class EngineerModeReceiver extends BroadcastReceiver {return;}if (intent.getAction().equals(SECRET_CODE_ACTION)) {- Elog.i(TAG, "Receive secret code intent");- Intent intentEm = new Intent(context, EngineerMode.class);- intentEm.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);- context.startActivity(intentEm);+ Uri uri = intent.getData();+ Elog.i(TAG, "Receive secret code intent and uri is " + uri);+ if (uri.equals(mEmUri))+ {+Intent intentEm = new Intent(context, EngineerMode.class);+intentEm.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);+context.startActivity(intentEm);+ }+ else if(uri.equals(mMtklogUri1))+ {+ String packageName = "com.debug.loggerui";+ String className = "com.debug.loggerui.MainActivity";+ Intent intentEm = new Intent(Intent.ACTION_MAIN);+ intentEm.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);+ ComponentName cn = new ComponentName(packageName, className);+ intentEm.setComponent(cn);+ context.startActivity(intentEm);+ }}}}

vendor/mediatek/proprietary/packages/apps/MTKLogger/Android.mk

@@ -3,9 +3,9 @@ LOCAL_PATH:= $(call my-dir)# Build DebugLoggerUI.apkinclude $(CLEAR_VARS)-ifeq ($(TARGET_BUILD_VARIANT), user)-LOCAL_MANIFEST_FILE := user/AndroidManifest.xml-endif+#ifeq ($(TARGET_BUILD_VARIANT), user)+#LOCAL_MANIFEST_FILE := user/AndroidManifest.xml+#endifLOCAL_MODULE_TAGS := optionalLOCAL_AAPT_INCLUDE_ALL_RESOURCES := true

修改 app 界面显示保存路径为 /sdcard

vendor/mediatek/proprietary/packages/apps/MTKLogger/src/com/debug/loggerui/utils/Utils.java

@@ -591,7 +591,7 @@ public class Utils {public static final String LOG_PATH_TYPE_SYSTEM_DATA = "system_data";public static final String LOG_PATH_TYPE_DEVICE_STORAGE = "device_storage";public static final String LOG_PATH_TYPE_PORTABLE_STORAGE = "portable_storage";- public static final String LOG_PATH_TYPE_DEFAULT = LOG_PATH_TYPE_SYSTEM_DATA;+ public static final String LOG_PATH_TYPE_DEFAULT = LOG_PATH_TYPE_DEVICE_STORAGE;public static final Map<String, Integer> LOG_PATH_TYPE_STRING_MAPS =new HashMap<String, Integer>();

将 netlog 保存路径 /data 修改为 /sdcard

vendor/mediatek/proprietary/external/NetworkLogD/netdiag/commandlistening.cpp

@@ -179,7 +179,7 @@ bool commandlistening::isCustomerUserLoad() {property_get("ro.build.type", buildtype, "user");if (0 == strncmp("0",internal,strlen("0"))&& 0 == strncmp("user",buildtype,strlen("userdebug"))) {- result = true;+ //result = true;//cczheng annotation}LOGD("isCustomerUserLoad()? %d,internal = %s,buildtype =%s",result, internal, buildtype );

将 mobilelog 保存路径 /data 修改为 /sdcard

vendor/mediatek/proprietary/external/mobile_log_d/config.c

@@ -795,10 +795,11 @@ int update_sd_context(const char* path) {}int load_type() {- char build_type[BUFFER_SIZE_128] = {0};+ return 0;//cczheng annotation+ /*char build_type[BUFFER_SIZE_128] = {0};char internal_prpject[BUFFER_SIZE_128] = {0};property_get("ro.build.type", build_type, "");property_get("ro.vendor.mtklog_internal", internal_prpject, "");if (strcmp(build_type, "user") != 0 || strcmp(internal_prpject, "1") == 0) return 0;- return 1;+ return 1;*/}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。