动手操作
文章平均质量分 70
JerryHe
长期在智能移动设备、汽车智能座舱领域进行研发工作,
参与过多款当下畅销汽车的智能座舱研发工作,目前在一家集AI与智能汽车产品集团从事智能舱驾产品研发工作
展开
-
根据systrace报告优化系统时需要关注的指标和优化策略
在优化系统时,systrace是一个非常有用的工具,它可以帮助开发人员分析和优化系统性能。systrace。原创 2024-07-14 22:53:38 · 288 阅读 · 0 评论 -
Android系统上常见的性能优化工具
这些工具可以开发人员更全面、深入地理解和优化 Android 应用的性能。原创 2024-07-14 22:49:45 · 533 阅读 · 0 评论 -
分析 Android 应用中的日志信息应遵循的原则
用于记录大量的调试信息,通常在开发过程中使用,以便全面了解应用的内部运行情况。但在发布的应用中一般不建议保留大量的。通过以上方法,可以更有效地从 Android 应用的日志中提取有价值的信息,帮助我们解决问题、优化应用性能和改进功能。这表示可能存在潜在的问题或需要关注的情况,但应用还能继续运行。在实际开发中,根据不同的场景和需求选择合适的日志级别,可以更有效地进行调试和监控应用的运行状况。稍微简洁一些,主要用于帮助开发人员在调试阶段跟踪应用的流程和变量值等。级别的日志来提供基本的运行信息。原创 2024-07-14 22:40:31 · 328 阅读 · 0 评论 -
在 Android 应用中使用日志记录功能应遵循的原则
在 Android 中考虑使用一些成熟的日志框架,如 Logback、Log4j 等,它们提供了更强大的功能和配置选项。为每个日志消息设置一个独特且有描述性的标签,以便于在查看日志时快速区分不同模块或功能的输出。使日志消息清晰、简洁,并包含足够的上下文信息,以便在出现问题时能够快速理解。特别是在测试和出现问题时,通过查看日志来发现和解决潜在的问题。不要在日志中包含用户的个人身份信息、密码或其他敏感数据。避免过度记录日志,以免影响应用性能和占用过多的存储空间。如前所述,在发布的生产版本中,通常只保留关键的。原创 2024-07-14 22:32:39 · 180 阅读 · 0 评论 -
Android上如何使用perfetto分析systrace
可以编写 Python 脚本来解析和分析 Perfetto trace 数据。Perfetto 提供了 Python API 进行更深层次的数据处理。示例:使用 Perfetto 分析 Systrace 数据。原创 2024-07-11 16:57:48 · 1276 阅读 · 1 评论 -
Android系统设置kernel log level的方法
kernel log内容过多/过少会影响分析问题,各种系统的版本对kernel log的等级要求也不一样,因此需要对kernel log进行设置。原创 2024-07-11 16:39:59 · 1287 阅读 · 0 评论 -
Android14系统应用统一裁剪方案
当前移除集成到系统里的应用,一般都是根据应用名,到各个mk文件里逐个在PRODUCT_PACKAGES中删除;参考PRODUCT_PACKAGES变量,添加PRODUCT_DEL_PACKAGES变量,用来管理裁剪掉的应用。新增一行_product_single_value_vars += PRODUCT_DEL_PACKAGES。裁剪掉EasterEgg,然后进行编译,完成后,在out中查找不到EasterEgg相关生成物。一般编辑的文件路径为device/公司名/产品名/device.mk。原创 2024-07-10 17:05:36 · 1235 阅读 · 0 评论 -
Android多用户基础问题
将用户添加到设备后,当另一个用户位于前台时,某些功能会受到限制。由于应用程序数据是按用户分开的,因此这些应用程序的状态因用户而异。例如,发送至当前未关注的用户帐户的电子邮件将不可用,直到该用户和帐户在设备上处于活动状态。此外,如果设备需要额外的内存用于前台用户的操作,系统进程将停止后台辅助用户。默认情况下,退出访客模式时,访客用户会话中的信息不会保留。(用户 ID = 0)身份运行,而不管当前用户是哪个用户。因此,取决于用户的设备路径(如。管理员用户可以删除应用程序,甚至可以删除辅助用户建立的整个工作区。原创 2024-07-08 17:27:19 · 1050 阅读 · 0 评论 -
Android多用户adb命令
profileOf userId:可选参数,用于指定新用户的配置文件。新用户将会继承指定用户的配置文件。如果不提供此参数,则新用户将拥有默认的配置文件。–managed:可选参数,指定新用户是否是受管理的。如果提供了此参数,则新用户将是受管理的,否则将是普通用户。为特定用户列出软件包(-e 可列出已启用的软件包,-d 可列出已停用的软件包)。默认情况下,此命令始终为系统用户列出软件包。adb shell操作多用户的命令如下。获取当前(前台)用户 ID。安装应用到某个用户下。为特定用户卸载软件包。原创 2024-07-08 17:25:32 · 932 阅读 · 0 评论 -
Android Studio Run窗口中文乱码解决办法
依次打开菜单:Help--Edit Custom VM Options,打开studio64.exe.vmoptions编辑框(如果没有该文件,请按照提示自动创建即可)在studio64.exe.vmoptions中添加 -Dfile.encoding=UTF-8。shift 按键多次出发,在其中输入vmoptions,打开编辑。重启AndroidStudio。原创 2024-07-06 21:49:54 · 335 阅读 · 0 评论 -
ll命令在ubuntu下不能使用的解决方案
在Ubuntu终端里执行ll,提示:command not found。打开当前用户目录下的.bashrc文件。或者重启系统,之后也可以正常使用ll。ll命令在ubuntu下不能使用,找到下面的内容,将前面的“#”去掉。然后在终端中,执行该脚本即可使用了。原创 2024-07-04 19:09:11 · 516 阅读 · 0 评论 -
Android文件路径获取
在Android中获取文件路径的几种方法,包括获取应用的私有文件路径、缓存文件路径、SD卡的根目录路径,以及特定类型和特定应用的外部存储目录路径。而要操作文件,首先需要获取文件的路径。除了获取SD卡的根目录路径外,还可以获取特定类型的外部存储目录路径,比如公共图片目录、公共音频目录等。在Android中,每个应用都有自己的私有文件路径,其他应用无法直接访问这些文件。除了私有文件路径,应用还可以使用缓存文件路径来存放临时文件或缓存文件。有时候我们需要将文件存放在特定应用的外部存储目录中,可以使用。原创 2024-07-04 10:48:19 · 1571 阅读 · 1 评论 -
Android各种存储路径的比较
到这个目录的时候,用相对路径。需要注意的是,这个文件的目录和应用的存储位置有关, 当应用被移动到外部存储设备的时候,文件的绝对路径也是变化的,所以建议当。应用外部存储空间(数据文件非私有,可以被手机的系统程序访问(如MP3格式的文件,会被手机系统检索出来),同样,该目录下的文件,所有的APP程序也都是可以访问的,)应用外部存储空间(数据文件非私有,可以被手机的系统程序访问(如MP3格式的文件,会被手机系统检索出来),同样,该目录下的文件,所有的APP程序也都是可以访问的,)原创 2024-07-03 19:02:29 · 821 阅读 · 0 评论 -
Android存储权限梳理及api接口调用
Android系统的文件存储按存储介质类型分为内部存储和外部存储,按存储目录类型分为私有目录和公共目录;对于Android系统中的进程来说,如果需要存储空间,需要按需申请对应的权限才能访问;否则是不能达到目的的。开发中经常会进行文件存储,可以根据具体需求,选择合适的方案对文件进行存储,参考如下:当需要存储一些私密性和安全性比较高的小数据,例如用户的账号密码等信息,可以存放在内部存储空间上。原创 2024-07-03 18:57:31 · 1213 阅读 · 1 评论 -
Android 常用文件系统命令
当系统正在对某个文件系统的区域进行写入操作时(读的话没关系),突然断电,会造成文件系统对应区域的损坏(如写入脏数据), 而e2fsck算法就是用来恢复受损的文件系统,目的是:系统能够重启后,一切正常。当然,有损坏,想原样修复,当然不能100%保证,所以,就遇到了某些系统文件丢失,或者文件属性发生变化的事情。文件损坏会报错structure needs cleaning(结构需要清理)。Android车机系统的重启,默认是从通过QNX直接给Android掉电,没有走Android的正常重启流程;原创 2024-07-02 13:36:35 · 501 阅读 · 0 评论 -
Ubuntu20.04 有线网络图标消失解决方案
ubuntu20.04系统提示的software updater有软件包更新,按提示安装更新软件包,重启系统后,ubuntu系统的网络图标消失不见;检查网口,发现网卡上的灯也不亮;在系统Settings的Network项中,网络配置项也不见了,无法配置网络参数。在处理这个问题的过程中还看到有其他方案,但可能我电脑的状态不太一样,经过尝试并没有处理掉;参考文章:https://blog.csdn.net/weixin_46721287/article/details/126098278。原创 2024-07-02 09:16:40 · 1469 阅读 · 1 评论 -
Android system.img挂载和解除挂载
system.img、vendor.img 都存在两种格式raw,sparse ,在ubuntu命令窗口下执行下执行:file system.img可以查看文件的信息。一种是raw ext4 image,即经常说的raw image。使用file观察它: 其特点是完整的ext4分区镜像(包含很多全零的无效填充区),可以直接使用mount进行挂载,因此比较大(一般1G左右)。file 查看另一种是sparse ext4 image,即经常说的simg就是说是一个非常普通的dat文件。原创 2024-07-01 20:06:11 · 681 阅读 · 0 评论 -
Android super.img结构及解包和重新组包
Android10开始使用动态分区,system、vendor、 odm等都包含在super.img里面,编译后的最终镜像不再有这些单独的 image,取而代之的是一个总的 super.img.原创 2024-07-01 19:49:45 · 2425 阅读 · 0 评论 -
Ubuntu 20.04安装中文输入法出错:gnome-user-docs-zh-hans安装失败
问题:Ubuntu20.04安装中文输入法出错:gnome-user-docs-zh-hans安装失败。然后再安装中文输入法即可,或者打开language Support页面,点install即可正常安装。在终端中,将gnome-user-docs卸载后,重新安装,系统会自动安装正确的版本。打开language Support页面的时候,提示install依赖的文件。原因:是因为系统中已经安装的gnome-user-docs与要求的版本不一样。这个现象造成不能安装中文输入法。原创 2024-06-25 16:29:08 · 460 阅读 · 0 评论 -
ubuntu20.04运行update时报错The following signatures couldn‘t be verified because the public key
在ubuntu20.04中运行sudo apt-get update报错The following signatures couldn‘t be verified because the public key。后面的具体KEY值复制下来,我的就是E88979FB9B30ACF2。此时如果运行apt-get update,仍然会报错。2、运行命令,中间的KEY还是上面。运行截图如下,可以看到有一个。因此,需要继续进行下一步处理。3、接着在运行不会报错了。1、把报错信息里面的。原创 2024-06-25 16:52:09 · 323 阅读 · 0 评论 -
Beyond Compare不能比较Selinux te文件的解决方案
即使手动在文件格式里添加对te文件的支持也是无效的会提示:Not a valid Terse Executable.找到Terse Executable.这一项,然后将后面的Mask删除,即将*.te删掉。点击Tools--->Options---->Archive Types。是Beyond Compare将*.te文件识别为一个可执行文件。重启Beyond Compare之后,即可比较te文件。重启Beyond Compare生效。原创 2024-06-26 12:50:09 · 325 阅读 · 0 评论 -
error: stray ‘\302‘ ‘\240‘in program
Eclipse中出现如下错误:error: stray '\302' in program?error: stray '\240' in program?原因:代码含有非法字符和错误空格(多数因为拷贝代码造成的)处理方案:找出有问题的那一行手动敲入代码...原创 2019-10-23 20:31:58 · 576 阅读 · 0 评论 -
Android AM命令及使用
Android系统可以通过终端使用AM命令启动某个指定的Activity。在具体应用中可以通过AM命令来达到启动指定Activity的目的。 例如启动 Camera.apk的主activityam start -n com.android.camera/com.android.camera.Camera其中com.android.camera是应用Activity所在的包名,com.android.camera.Camera是指定要启动的Activity。原创 2013-11-15 12:19:20 · 14870 阅读 · 0 评论 -
Windows下ADB使用相关问题
Windows下ADB使用相关问题 适用环境:在Windows XP,WIN7下均可按本文操作进行;WIN8下没有进行实验,但操作设置大致相同,除了第4步,adb_usb.ini的位置可能有所不同以外,其他各部分可按文中所述进行操作。 Windows下正常使用ADB要注意以下问题:1. 手机端要打开调试模式在设置中,打开开发人员选项,并将其中的USB调试选项打开原创 2014-07-23 19:23:52 · 8524 阅读 · 1 评论 -
Linux ln命令详解及使用
Linux ln命令详解及使用 ln是linux中一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。1. ln命令概述当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln–s /bin/less /usr/local/bin/原创 2014-07-22 12:13:53 · 47571 阅读 · 3 评论 -
Error处理: 重提No Launcher activity found!
Error处理: 重提No Launcher activity found!重提No Launcher activity found!错误提示,及解决办法Android应用开发中No Launcher activity found! 是常见的错误,而且解决办法也很简单。做Android开发已经很久了,相信自己不会轻易犯这个错误,但是今天却又遇到;在AndroidManifest.xml文件中也很确定的已经添加了 <action android:name="andro原创 2014-06-27 18:29:17 · 5106 阅读 · 0 评论 -
关于Windows通过远程桌面访问Ubuntu(适用于Ubuntu12.04及早期版本)
关于Windows通过远程桌面访问Ubuntu(适用于Ubuntu12.04及早期版本)问题及目标Window环境通过远程桌面访问UbuntuUbuntu机器端1、 安装所需软件包sudoapt-get install xrdpsudo apt-get install vnc4server tightvncserver2、配置进...原创 2014-05-19 14:40:43 · 6007 阅读 · 1 评论 -
Android系统信息获取 之十四:获取WIFI热点相关信息
Android系统信息获取 之十四:获取WIFI热点相关信息当在Android设备终端上使用Wifi热点的时候,需要获知Wifi热点的运行状态,热点是否打开,连接到该WIFI热点的设备数量,以及连接设备的具体IP和MAC地址。使用re文件管理器去"/proc/net/arp",打开,发现连接上热点的设备信息都在这里了,包括mac ip等。鉴于此,我们可以在代码中打开该文件,并获取WIFI热点的信息。获取WIFI热点状态的方法getWifiApState()和判断热点是否可用的方法isApEnab原创 2014-04-08 15:04:59 · 12778 阅读 · 10 评论 -
Android.mk文件简单分析
Android.mk文件简单分析 一个Android.mk文件用来向编译系统描述需要编译的源代码。具体来说:该文件是GNUMakefile的一小部分,会被编译系统解析一次或多次。可以在每一个Android.mk中定义一个或多个模块,也可以在几个模块中使用同一个源代码文件。每个模块属下列类型之一: 1)APK程序,一般的Android程序,编译打包生成apk文件 2)JAVA库,java类库,编译打包生成jar文件 3) C\C++应用程序,可执行的C\C++应用程序原创 2014-10-23 19:49:54 · 2922 阅读 · 0 评论 -
Android.mk增加本地程序和库的常用模版
Android中增加本地程序或者库,这些程序和库与其所在路径没有关系,只与它们的配置文件Android.mk有关。Android.mk文件中能够主要包含一些系统公共的宏。在一个Android.mk中可以生成多个可执行程序、动态库或者静态库。原创 2014-10-29 19:41:15 · 3346 阅读 · 0 评论 -
Python中出错:ImportError: No module named win32com.client
【问题】折腾:【已解决】Python中处理操作Excel中的图表(Chart,Graph)的过程中,使用代码:#!/usr/bin/python# -*- coding: utf-8 -*-"""Function:【已解决】Python中处理操作Excel中的图表(Chart,Graph)http://www.crifan.com/python_proces转载 2014-11-18 10:43:17 · 26449 阅读 · 0 评论 -
SecureCRT配色方案
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单的说是Windows下登录UNIX或Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRTTelnet客户机的所有特点,包括:自动转载 2015-10-21 13:01:05 · 1471 阅读 · 0 评论 -
Windows使用远程桌面连接 Ubuntu 14.04:xrdp+xfce桌面方案
Windows使用远程桌面连接 Ubuntu 14.04:xrdp+xfce桌面方案Windows使用远程桌面连接可以很方便的远程访问Ubuntu12.04系统,但按Ubuntu12.04的配置方式操作后,不能正常访问Ubuntu14.04系统,且在访问Ubuntu14.04系统时系统会报错。这是由于xrdp在Ubuntu13.10之后版本就已经不支持Gnome和原生Unit...原创 2019-09-07 20:07:17 · 2930 阅读 · 2 评论 -
Windows使用远程桌面连接 Ubuntu 14.04-xrdp+mate桌面方案
Windows使用远程桌面连接 Ubuntu 14.04-xrdp+mate桌面方案Windows使用远程桌面连接可以很方便的远程访问Ubuntu12.04系统,但按Ubuntu12.04的配置方式操作后,不能正常访问Ubuntu14.04系统,且在访问Ubuntu14.04系统时系统会报错。这是由于xrdp在Ubuntu13.10之后版本就已经不支持Gnome和原生Unit...原创 2019-09-07 20:12:16 · 4965 阅读 · 1 评论 -
Windows使用远程桌面连接Ubuntu 14.04 :常见问题处理
Windows使用远程桌面连接 Ubuntu 14.04:常见问题处理Windows使用远程桌面连接可以很方便的远程访问Ubuntu12.04系统,但按Ubuntu12.04的配置方式操作后,不能正常访问Ubuntu14.04系统,且在访问Ubuntu14.04系统时系统会报错。这是由于xrdp在Ubuntu13.10之后版本就已经不支持Gnome和原生Uni...原创 2019-09-07 20:21:39 · 5352 阅读 · 2 评论 -
git操作时报错: HTTP Basic: Access denied 解决办法
git操作时报错: HTTP Basic: Access denied 解决办法问题描述:git push,git pull,git clone时 报 HTTP Basic: Access denied 错误报错信息示例原因:本地git配置的用户名、密码与gitlabs上注册的用户名、密码不一致。解决方案:1. 如果账号密码有变动 用这个命令 gi...原创 2019-09-12 12:38:52 · 41404 阅读 · 5 评论 -
Android系统信息获取 之十三:Linux内核版本信息获取
Android系统是基于Linux的,各个Android版本对应的Linux版本不尽相同,我们这里不去追究各个Android对应的Linux版本是什么,而是通过工具或者使用代码的方法去获取我们使用的Android源码或者我们的Android手机目前使用的Linux版本。 首先,使用adb工具我们能够很快获取Android手机(Android模拟器)的Linux内核版本。用adb工具连接模拟器,查看内核版本信息,看看模拟器上跑的内核是不是我们刚才编译出来的内核: USER-NAME@MACHI原创 2014-03-10 16:03:42 · 12461 阅读 · 0 评论 -
JNI调用c/c++,env->和(*env)->是有区别的
JNI调用c/c++,env->和(*env)->是有区别的 转载自:http://blog.chinaunix.net/uid-20406995-id-1686163.html如果是c程序,要用 (*env)-> 如果是C++要用 env->ps:在linux下如果.c文件中用 “env->” 编译会找不到此结构,必须用“(*env)->”转载 2014-04-01 20:17:12 · 3131 阅读 · 0 评论 -
Error处理:Internal Error (classFileParser.cpp:3494)
Error处理:Internal Error (classFileParser.cpp:3494)在Android项目中,为了开发的需要,需要运行一个Java程序,来获取信息,但是在运行的时候一直报错,错误提示如下:## A fatal error has been detected by the Java Runtime Environment:## Inte原创 2014-03-26 21:46:45 · 3429 阅读 · 0 评论 -
Error处理:遇见引入ViewPager包,编译不报错,运行报错ViewPager不存在问题
遇见引入ViewPager包,编译不报错,运行报错ViewPager不存在问题今天遇到一个比较奇怪的问题:导入android.support.v4.view.ViewPager包,引入ViewPager,编译不报错,运行报错ViewPager不存在问题。由于工程的Target是Android2.3平台,而且代码是从之前的一个原有包里导入的。想加如一个viewpager.添加过程一切顺利原创 2013-07-23 17:57:51 · 10581 阅读 · 0 评论