华为Android的工程模式以及log的设置

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                       

记得功能机的时代,我会利用工程模式下的电池温度去判断电池环境下的温度(当然了,手机静放一段时间)。但是智能机时代很少这样做了。所以各种机型的工程模式已经不太关注了。

但是华为的几款Android手机特别霸道,将log输出的设置都放在了工程模式中,让我不得不去“放开那个log“。

进入工程模式的命令:

*#*#2846579#*#*
  
  
  • 1

在projectMenu—>后台—>log中将日志放开即可。

另外,五儿子进入工程模式的命令:

*#*#4636#*#*
  
  
  • 1
           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
<think>嗯,用户的问题是关于Android Studio中无法显示Cocos引擎的console.log日志。首先,我需要回忆一下Cocos项目的结构。Cocos通常会在C++层使用NDK进行开发,而日志输出可能不是通过Java的Logcat直接处理的。用户提到的console.log可能是Cocos引擎封装的方法,但底层可能调用了Android的日志库,比如__android_log_print。 根据引用[1],Java层的Logcat截断问题可以通过修改C++代码来解决,这说明Cocos的日志输出确实是在C++层面处理的。可能需要检查Cocos的日志实现是否正确地使用了Android的日志函数,或者是否有日志级别过滤导致信息被屏蔽。 接下来,用户可能已经尝试过常规的Java层解决方案,比如检查Logcat过滤器设置,但问题依然存在。引用[4]提到华为手机工程菜单中的设置可能因版本不同而有差异,这可能意味着设备本身的日志输出设置有问题,但用户的问题可能不仅限于特定设备,而是普遍存在。 另外,引用[3]展示了如何在build.gradle中添加依赖,这可能提示需要检查项目的依赖配置是否正确,是否有必要的日志库被包含进来。同时,引用[2]提到使用cocos compile命令生成Android Studio项目,可能需要确保编译过程中没有错误,项目配置正确。 可能的解决方案包括修改Cocos的日志桥接代码,确保调用__android_log_print,并在Android Studio中调整Logcat的过滤级别。此外,NDK日志支持需要启用,比如在CMakeLists.txt中添加日志库的链接,并在AndroidManifest.xml中启用调试模式。 还需要考虑用户是否在真机调试时开启了USB调试选项,或者是否有其他日志过滤设置。建议用户检查Logcat的过滤器是否设置为显示全部应用和Verbose级别,同时确保Cocos引擎的调试日志没有被禁用。 最后,可能需要指导用户如何修改Cocos的源码,重新编译项目,并验证日志是否正常输出。同时,测试不同设备和Android版本,以排除设备特定的问题。</think>### 解决方案:Android Studio中Cocos引擎console.log日志不显示 #### 1. 确认Cocos引擎日志桥接机制 Cocos2d-x/Creator默认会将`console.log`通过JNI桥接到Android的日志系统,但需要检查以下两点: - **C++层日志实现**:Cocos引擎内部可能使用`__android_log_print`函数输出日志,但部分版本或自定义引擎可能存在桥接缺失问题。 - **日志标签与等级**:Cocos默认使用`cocos2d-x`标签输出日志,需在Android Studio Logcat中正确过滤。 #### 2. 修改Cocos引擎源码(C++层) 在Cocos2d-x的`platform/android/jni/Java_org_cocos2dx_lib_Cocos2dxHelper.cpp`文件中,找到日志输出函数并确保调用`__android_log_print`: ```cpp #include <android/log.h> #define LOG_TAG "cocos2d-x" #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__) extern "C" { JNIEXPORT void JNICALL Java_org_cocos2dx_lib_Cocos2dxHelper_nativeLog(JNIEnv* env, jobject thiz, jstring message) { const char* msg = env->GetStringUTFChars(message, NULL); LOGD("%s", msg); // 确保使用Android原生日志函数 env->ReleaseStringUTFChars(message, msg); } } ``` 修改后需重新编译引擎或项目[^1][^2]。 #### 3. 配置Android Studio Logcat - **过滤设置**:在Logcat顶部选择设备和应用(如未显示应用,选择`No Filters`),并在搜索框输入`tag:cocos2d-x`或`level:verbose`。 - **避免截断**:若日志过长被截断,可通过命令行工具`adb logcat -G 4M`调整缓冲区大小。 #### 4. 检查NDK日志支持 在`CMakeLists.txt`或`build.gradle`中确认链接Android日志库: ```cmake find_library(log-lib log) target_link_libraries(native-lib ${log-lib}) ``` #### 5. 真机调试注意事项 - **开启开发者模式**:在手机设置中启用`USB调试`和`允许ADB日志记录`。 - **设备兼容性**:部分华为/荣耀设备需在工程菜单中单独开启日志权限(路径可能因EMUI版本不同而变化)[^4]。 #### 6. 测试代码验证 在Cocos项目的TypeScript/JavaScript代码中添加: ```typescript console.log("TEST_LOG: Cocos日志输出测试"); ``` 在C++层或Java层检查是否映射到Android日志系统,并观察Logcat输出。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值