Android
文章平均质量分 66
镇上村树
这个作者很懒,什么都没留下…
展开
-
Android性能优化:getResources()与Binder交火导致的界面卡顿优化
Android性能优化:binder调用导致的界面卡顿原创 2023-02-10 17:16:42 · 1501 阅读 · 1 评论 -
Android单条日志太长导致被截断的问题分析和解决
注意,单条日志长度上限是指一次打印的日志的长度,不是指设置-开发者选项-日志缓冲区大小。指令可以读到各个分类的缓冲区上限、目前用量、每次读取量、单条日志长度的上限。注意,这里指的是单条日志太长了被截断了,不是指日志太多了被冲掉了。输出查阅日志,但有时日志很长,可能会被截断,显示不完整。本文研究日志被截断的原因,并给出修改方法。不同Android版本在不同位置,,推入设备,重启方能生效。通常在Android中使用。原创 2022-12-28 14:32:01 · 2561 阅读 · 0 评论 -
紫光展锐展讯SPRD刷机包pac文件解包提取img步骤
紫光展锐展讯SPRD刷机包pac文件解包提取img文件。原创 2022-10-11 08:56:13 · 8879 阅读 · 0 评论 -
Android Jack-Server多用户编译时Communication error with Jack server (60), try ‘jack-di
无法连接,它可能正在被服务器内的其他用户使用。原创 2022-10-08 10:28:08 · 165 阅读 · 0 评论 -
android::String8与Java String对比
【代码】android::String8与Java String对比。原创 2022-08-19 16:10:55 · 915 阅读 · 0 评论 -
Android系统编译优化:使用Ninja加快编译
除此之外,一些不会更新源码、编译配置等文件的内容的操作,如touch、git操作等,会被Android系统编译工具识别为有差异,从而在编译时重新生成编译配置,重新编译并没有更新的源码、重新生成没有差异的中间文件等一系列严重耗时操作。其中,一些阶段(图中时间占比较长的几条记录)没能跑满资源的原因是这些编译目标本身不支持并行,且本次编译命令指定的目标已经全部“安排”了,不需要调动更多资源启动其他编译目标的工作。耗时占比很大,它的任务是遍历源码树,收集所有的编译配置文件,经过验证和筛选后,将它们解析并转化为。..原创 2022-08-08 17:42:12 · 4117 阅读 · 4 评论 -
Android动态日志ProtoLog简介和使用
本文是对ProtoLog的基本说明,包括对ProtoLog的使用、Group的定制,以及ProtoLog框架的结构。ProtoLog是AndroidR(Android11)开始引入的全新的日志框架,它在性能、开销和灵活程度上有明显的提升,是一套全新流程的日志框架,它主要在WindowManager体系中使用,并有可能推广到Android系统层的其他部分。它的一大特点是能够根据Group分类来动态启停指定类别的日志打印,这使系统层初步具备了动态日志精妙绝伦的日志数据量压缩机制(虽然并不是什么新技术)。...原创 2022-08-01 10:14:34 · 5433 阅读 · 0 评论 -
LLDB远程调试Android:LLDB命令速查参考手册Handbook
Github博客位置: https://nasdaqgodzilla.github.io/2019/02/24/LLDB%E8%BF%9C%E7%A8%8B%E8%B0%83%E8%AF%95Android%EF%BC%9ALLDB%E5%91%BD%E4%BB%A4%E9%80%9F%E6%9F%A5%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8CHandbook/后台运行:Host端连接lldb serverHost端附加remote Android进程附加进程(P原创 2022-06-21 20:52:10 · 1933 阅读 · 0 评论 -
Android Recovery流程分析 OTA安装基本架构
文章目录Recovery升级准备流程OTA安装流程Recovery执行升级多进程/线程架构update-script、updater-binary与system.patch.dat、system.transfer.listRecovery升级准备流程OTA应用调用Framework内提供的系统接口RecoverySystem.installPackage()后,在/cache/recovery/block.map中写入升级信息。该文件将会在设备重启时,由启动引导程序读取内容,并根据内容启动为recov原创 2020-06-15 11:50:42 · 993 阅读 · 0 评论 -
Android如何在user版本中获取root权限
2020年4月20日15:30:27步骤刷入对应的eng或userdebug版本的boot.img重启后adb root、adb remount、adb disable-verity等多试几次root后进入shell就是su,不需要执行su获取权限注意一般来说,boot.img不容易被改动,同一个型号的机器多个不同版本可能通用对于打开了系统安全功能的情况,刷入boot.im...原创 2020-04-20 15:45:42 · 1758 阅读 · 0 评论 -
Android ADB 命令大全对照表
原创 2020-04-13 17:21:19 · 342 阅读 · 0 评论 -
如何在一个无Context的java class类中获取context、获取所在的package、activity;无context时不依赖context发送广播;获取java类所在的context
2020年4月3日17:08:18文章目录背景code背景一些class,本身没有context成员用以保存调用者的context或application,也不像Fragment那样可以直接getActivity(),在不改动调用者调用参数(向这个需要使用context的class传递context)的前提下,能不能做到获取调用者Activity。code获取context...原创 2020-04-03 17:26:51 · 1012 阅读 · 0 评论 -
RK3288 RK3368 瑞芯微RK系列Android生成OTA差分升级包
一、OTA完整包生成方法OTA完整包可用于T卡本地升级和OTA在线升级。OTA完整包包含完整的system、recovery.和boot.img。发布一个版本固件正确顺序:make -j4make otapackage./mkimage.sh ota注意:发布固件必须使用./mkimage.sh ota,将boot与kernel打包,不需要单独烧kernel,如果量产固件是分开的,将...原创 2020-03-18 11:51:48 · 4992 阅读 · 0 评论 -
android通过adb截取屏幕、录制屏幕 screencap screenrecord
$ adb shell screencap /sdcard/screen.png$ adb shell screenrecord --verbose /sdcard/demo.mp4生成的文件依然保存在设备中,用adb pull可以获取。原创 2020-03-14 11:55:45 · 880 阅读 · 0 评论 -
dumpsys activity用法汇总
2020年3月14日11:21:04一、 概述1.1 dumpsys 命令用法可通过 dumpsys 命令查询系统服务的运行状态 (对象的成员变量属性值),命令格式:dumpsys 服务名, 例如:dumpsys activity dumpsys window dumpsys cpuinfo dumpsys meminfo可查询的服务有很多,可通过下面任一命令查看当前系统所支...原创 2020-03-14 11:49:09 · 5645 阅读 · 0 评论 -
Android源码编译App Android.mk出现无法import aidl AIDL的接口找不到cannot import
Android.mk添加以下内容即可LOCAL_SRC_FILES := $(call all-java-files-under,app/src/main/java)LOCAL_SRC_FILES += $(call all-Iaidl-files-under,app/src/main/aidl/android/os)LOCAL_SRC_FILES += $(call all-Iaidl-f...原创 2020-02-18 14:12:57 · 1166 阅读 · 0 评论 -
Android Studio的App放入系统源码进行编译、AndroidManifest转Android.mk
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(call all-java-files-under,app/src/main/java)LOCAL_SRC_FILES += $(call all-Iaidl-files-under,app/...原创 2020-02-18 14:10:34 · 1093 阅读 · 1 评论 -
Binder与AIDL使用详解
Binder 原理1、概述Android 系统中,涉及到多进程间的通信底层都是依赖于 Binder IPC 机制。例如当进程 A 中的 Activity 要向进程 B 中的 Service 通信,这便需要依赖于 Binder IPC。不仅于此,整个 Android 系统架构中,大量采用了 Binder 机制作为 IPC(进程间通信,Interprocess Communication)方案。...转载 2019-12-11 17:34:06 · 878 阅读 · 0 评论 -
Android Context详解
2019年12月11日16:41:43Activity mActivity =new Activity()作为 Android 开发者,不知道你有没有思考过这个问题,Activity 可以 new 吗?Android 的应用程序开发采用 JAVA 语言,Activity 本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。Android 程序不像 Java 程序一样,随便...转载 2019-12-11 16:43:36 · 231 阅读 · 0 评论 -
Android Jack-Server多用户编译时jack-server错误Communication error with Jack server (60), try 'jack-di
错误Communication error with Jack server (60), try 'jack-diagnose' or see Jack server logFAILED: /bin/bash -c "(prebuilts/sdk/tools/jack-admin install-server prebuilts/sdk/tools/jack-launcher.jar pre...原创 2019-12-10 10:53:03 · 1018 阅读 · 0 评论 -
Android渲染机制
2019年11月9日09:28:20关于 Android 中的视图,我一直有些疑问,Android 中 Activity 是怎么加载视图的?View 是怎么绘制的? 普通 View 与 SurfaceView 的到底有什么异同,如何去优化 View 的显示等,现在就让我们从 Activity 创建说起,一探 Android 渲染机制。从 Activity#setContentView 说...转载 2019-11-16 09:33:30 · 700 阅读 · 0 评论 -
如何将一个第三方无源码的APK预装打包进入无源码、不修改源代码、不需要重新编译的系统ROM中
文章目录方法一:系统启动时,通过init.rc来运行脚本,脚本通过pm安装预装软件在init.rc中等待启动启动完成后运行脚本通过shell调用pm安装apk方法二:直接将apk放入```/system/app```下方法一:系统启动时,通过init.rc来运行脚本,脚本通过pm安装预装软件在init.rc中等待启动启动完成后运行脚本service /system/bin/install.s...原创 2019-09-03 09:23:47 · 1195 阅读 · 0 评论 -
【转官方】Android ADB调试命令、支持的命令、ADB文档
ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。持续更新中,欢迎提 PR 和 Issue 补充指正,觉得有用的可以将 此 GitHub 仓库 Star 收藏备用。注: 有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。Other languages:翻译 2019-08-29 19:13:07 · 1078 阅读 · 0 评论 -
Android应用程序如何识别当前设备是笔记本模式or平板模式
文章目录支持两种模式Laptop Mode与Pad Mode(笔记模式、平板模式)的ChromeOS Android当模式切换时,Chrome通过wayland与Android通信曲线救国实际上,应用层采用相对布局、自适应布局来实现UI,在不同尺寸做到自动适应,实际上就不需要花这么大力气去适配不同尺寸的屏幕或笔记模式、窗口模式了。对于笔记模式和平板模式带来的显示上的差异,由底层的wayland/H...原创 2019-08-28 11:15:12 · 1292 阅读 · 0 评论