
Android 系统
文章平均质量分 74
m0_37579906
愿历尽风帆,归来仍少年
展开
-
Android 开发 相关 有用文档收集
android studio中App项目,添加系统签名原创 2021-01-29 10:52:13 · 178 阅读 · 1 评论 -
android audio模块(二)
案例:android 源码,c++ 的测试程序frameworks\base\media\tests\audiotests\shared_mem_test.cpp 共享内存测试JAVA层AudioTrack 测试程序:frameworks\base\media\tests\MediaFrameworkTest\src\com\android\mediaframeworktest\functional\audio\MediaAudioTrackTest.java一、AudioTra..原创 2020-12-22 18:03:35 · 1353 阅读 · 0 评论 -
android audio模块(一)
参考这两个文章:Android 音频系统:从 AudioTrack 到 AudioFlingerAndroid 音频数据传输流程图 - Playback过程原创 2020-12-17 16:15:44 · 867 阅读 · 0 评论 -
android 使用SurfaceFlinger 服务的流程分析,基于4.4(三)----图像的输出过程
frameworks\native\services\surfaceflinger\SurfaceFlinger.h ....... struct DisplayDeviceState { DisplayDeviceState(); DisplayDeviceState(DisplayDevice::DisplayType type); bool isValid() const { return type >= 0; } ...原创 2020-12-16 18:10:39 · 837 阅读 · 0 评论 -
android 使用SurfaceFlinger 服务的流程分析,基于4.4(二)---- vsync 机制
一、VSYNC 概述调用 unlockAndPost ,将UI buffer 入队后,最终通过 layer层调用surfaceflinger 的signalLayerUpdate 函数 ,通知surfaceflinger 处理。在分析这个surfaceflinger 处理前要先了解vsync 机制。surfaceflinger 将不同layer 的 ui数据元素合成,需要精密的时间控制,不然屏幕就会很卡。在相同的信号指令下进行处理数据,屏幕才会呈现出正常的图像。这个信号就是vsync 。原创 2020-12-15 18:10:51 · 419 阅读 · 0 评论 -
android 使用SurfaceFlinger 服务的流程分析,基于4.4(一)------SurfaceFlinger 使用步骤
一、使用SurfaceFlinger 的框架一般来说,使用SurfaceFlinger服务的流程分为以下几步:1、创建应用进程的Client ,这个Client 是一个SurfaceComposerClient 对象,主要用来创建一个surface:sp<SurfaceComposerClient> client = new SurfaceComposerClient()其UML 流程图如下:2、 用第一步创建的Client 获得一个surfaceControl...原创 2020-12-14 12:03:31 · 998 阅读 · 0 评论 -
Android应用程序窗口(Activity)的测量(Measure)、布局(Layout)和绘制(Draw)函数流程
Android应用程序窗口的UI渲染过程可以分为测量、布局和绘制三个阶段1、测量(Measure) ... ↓ViewRootImpl.doTraversal() ↓ViewRootImpl.performTraversals() ↓ViewRootImpl.measureHierarchy() ↓ViewRootImpl.performMeasure() ↓V原创 2020-12-10 17:31:21 · 344 阅读 · 0 评论 -
正确使用Runtime.getRuntime().exec()方法
1.错误的使用方式Runtime.getRuntime().exec("xxx");2.正确的使用方式//需要指定参数一:命令位置;参数二:-c表示先执行第一个参数;参数三:你的命令。Runtime.getRuntime().exec(new String[]{"/bin/sh","-c","xxx"});例如 :try { Runtime.getRuntime().exec(new String[]{"/system/bin/sh","-c","reboot"});}原创 2020-12-10 14:41:51 · 4231 阅读 · 1 评论 -
Android应用程序窗口(Activity)的绘图表面(Surface)的创建流程
每一个在C++层实现的应用程序窗口都需要有一个绘图表面,然后才可以将自己的UI表现出来。这个绘图表面是需要由应用程序进程请求SurfaceFlinger服务来创建的,在SurfaceFlinger服务内部使用一个Layer对象来描述。对于在Java层实现的Android应用程序窗口来说,它也需要请求SurfaceFlinger服务为它创建绘图表面,这个绘图表面使用一个Surface对象来描述。在Java层实现的Android应用程序窗口的绘图表面是通过两个Surface对象来描述,一个是在应用程序进程这..原创 2020-12-10 11:22:03 · 595 阅读 · 0 评论 -
ActivityManagerService服务请求WindowManagerService服务为一个Activity组件创建一个AppWindowToken对象的过程
1、ActivityStack.startActivityLocked() ↓2、WindowManagerService.addAppToken() ↓3、new AppWindowToken() ↓4、mTokenMap.put(token.asBinder(), atoken)原创 2020-12-09 17:42:52 · 217 阅读 · 0 评论 -
Android UI 渲染博客总结
网上找了一些UI SurfaceFlinger 值得学习的文章Android图形显示系统——概述 可以看看这个作者一系列文章Android图形显示系统——下层显示1:基础知识与相关文件Android图形显示系统——上层显示1:界面绘制大纲Android Render(一)Activity窗口构成和绘制解析Android Render(二)7.1源码硬件加速下draw绘制流程分析Android应用程序窗口(Activity)实现框架简要介绍和学习计划A...原创 2020-12-02 09:48:52 · 198 阅读 · 0 评论 -
ADB命令
ADB命令原创 2020-11-12 14:37:42 · 84 阅读 · 0 评论 -
android.mk中几个常见配置
android.mk中几个常见配置转载 2020-11-12 14:04:21 · 219 阅读 · 0 评论 -
Android Debug 方法集合
Android Tombstone/Crash的log分析和定位开发日志整理3【Android tombstone分析 升级篇】Android Tombstone 分析如何分析android tombstone?Android NDK Tombstone/Crash 分析Android tombstone 分析案例崩溃等抓关键字:logcat | grep -e Fatal -e Crash -e AndroidRuntime -e Exception -e Error -.原创 2020-11-12 14:03:31 · 209 阅读 · 0 评论 -
Android 实现首次开机启动wizardsetup程序
Android 实现首次开机启动wizardsetup程序Android Provision(开机向导setupwizard程序)转载 2020-11-11 18:00:47 · 1038 阅读 · 0 评论 -
Android系统(Launcher)的启动过程,基于4.4
( 4999): at dalvik.system.NativeStart.main(Native Method)( 4999): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:658)( 4999): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)( 4999): at java.lang....原创 2020-11-11 14:13:46 · 351 阅读 · 0 评论 -
Android系统init进程启动及init.rc全解析
Android系统init进程启动及init.rc全解析转载 2020-11-11 10:46:40 · 143 阅读 · 0 评论 -
android WMS
Android窗口系统第一篇---Window的类型与Z-Order确定Android窗口系统第二篇---Window的添加过程转载 2020-11-06 10:56:19 · 228 阅读 · 0 评论 -
Android 8.1 PowerManagerService分析
Android 8.1 PowerManagerService分析(一)Android 8.1 PowerManagerService分析(二) ——updatePowerStateLocked()方法Android 8.1 PowerManagerService分析(三)——WakeLock机制Android 8.1 PowerManagerService分析(四)——亮屏流程分析Android 8.1 PowerManagerService分析(五)——灭屏流程分析看上五篇就行了.转载 2020-10-29 10:06:06 · 633 阅读 · 0 评论 -
查找是谁改了content://settings/ 下面数据
有时候,我们会发现默认配置了system 、 global 、secure 数据库的值,但开机后被修改了,如何查找是谁改了数据库里面默认的值?以 :Settings.System.SCREEN_OFF_TIMEOUT 为例,1、修改Settings.java (frameworks\base\core\java\android\provider) 中在class System 内部类的 ,因为有Secure Global 几个内,里面的函数都长的差不多,不要添加错了。public stat.转载 2020-10-28 13:54:28 · 796 阅读 · 0 评论 -
Android 系统 overlay 总结
For color, bool, string, array, style/theme types, the resource values are identifed by their keys, so for these types, there is no need to put the resources in a file with the same name as in the original base package.For layout, animation, picture draw转载 2020-10-26 11:05:48 · 1686 阅读 · 0 评论 -
启动一个 Activity 的流程,基于android 4.4
\src\frameworks\base\core\java\android\app\Activity.java startActivity (Activity.java) startActivityForResult (Activity.java) startActivityForResult(intent, requestCode, null);(Activity.java)/src/frameworks/base/core/java/andro...原创 2020-10-23 13:32:47 · 186 阅读 · 0 评论 -
pm cp rm命令的具体用法
pm 命令是Android里面packageManage的命令行,用于安装包的操作。一般我们在命令行下,可以使用以下命令安装一个新的安装包。1、安装APK:例如,在串口终端下输入:pm install -r /data/card/ApicalRadio.apk就可以重新安装ApicalRadio.apk到android系统上,默认是安装到系统的data/app/目录下。-r 参数表示重新安装,如果原来已经安装了,会覆盖原来的安装包。2、卸载pmuninstall -kcom...原创 2020-10-22 14:38:12 · 1214 阅读 · 0 评论 -
Android apk 签名
新编译了一个apk 要对他签名,才能替换系统里面对应的apk1、确认系统的apk 在编译的时候 LOCAL_CERTIFICATE 变量给的值是 platform ,还是其他。2、如果LOCAL_CERTIFICATE := platform ,那么就把\src\build\target\product\security\ 目录下的 platform.x509.pem、platform.pk8 拷贝到windows 的E 盘;3、另外拷贝签名工具signapk.jar 到E...原创 2020-10-15 09:36:41 · 122 阅读 · 0 评论 -
IPTV 踩得坑
IPTVamlogic 方案 升级固件非高安的软件,直接用USB_Burning_Tool 升级;若是遇到刷机挂掉,S905芯片 ,需要短接 R412 电阻 ,然后在用USB_Burning_Tool 升级原创 2020-09-29 14:44:42 · 618 阅读 · 0 评论