Android Framework
loongembedded
本人目前在佛山一家上市公司负责智能终端、服务机器人的研发工作,欢迎大家的指教和交流!。
展开
-
Android JNI 使用的数据结构JNINativeMethod详解
Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是Andorid使用了一种Java 和 C 函数的映射表数组,并在其中描述了函数的参数和返回值。这个数组的类型是JNINativeMethod,定义如下:typedef struct {const char* name;const char* signature;voi转载 2014-11-21 18:19:32 · 2489 阅读 · 0 评论 -
android6.0单独编译和调试framework源码的方法
缺省情况下,android 6.0的编译过程会优化framework.jar,这导致所有系统启动相关的文件(比如service.jar)一起打包到boot.oat中打包,并引入了checksum机制,无法单独针对一个文件进行修改。framework单独编译方法1:为了方便调试,最便捷的方法就是在device目录下修改BoardConfig.mk(我的目录是android/device/softwi...转载 2018-03-06 23:36:21 · 1246 阅读 · 0 评论 -
修改framework后重新刷入手机
点击打开链接由于业务需求,需要修改SystemUI,在修改了SystemUI之后出现了各种问题,原本以为只要混滚SystemUI然后重新入到systemUI的根目录mm一下就行,没想到刷入到手机没有任何作用。经人指点是要把编译生成的framework-res.apk和framework.jar删除,然后重新生成,按照我以往逻辑,我只是修改了framework/base目录下的代码,只需要在该目录下转载 2018-01-24 12:56:47 · 909 阅读 · 0 评论 -
MTK radiooptions 分析
点击打开链接RIL Socket 资源创建service ril-daemon /system/bin/rild class main socket rild stream 660 root radio socket sap_uim_socket1 stream 660 bluetooth bluetooth socket rild-debug stream 660 rad转载 2017-06-14 08:54:20 · 1136 阅读 · 0 评论 -
Android中通过Socket直接与RILD进行通信
点击打开链接1 RIL_J与RIL_C通信 上层通常要和RILD通信,是通过Socket,在RIL_JAVA层实现;沿着这样代码流程进行Framework——native: Phone——RIL_JAVA——>RIL_CPP那么可不可以直接和RILD(RIL_CPP)进行通信呢? 肯定是可以的,因为通信使用的rild socket,只要通过这个socket就可以和RILD进行通信 ;但实际中转载 2017-06-13 19:36:28 · 1578 阅读 · 0 评论 -
Android7.0 Rild工作流程
点击打开链接一、基于Rild的通信架构一般智能手机的硬件架构都是两个处理器: 一个处理器用来运行操作系统,上面运行应用程序,这个处理器称作Application Processor,简称AP;另一个处理负责和射频无线通信相关的工作,叫Baseband Processor,简称BP。在Android系统中,Rild运行在AP上,它是AP和BP在软件层上通信的中枢。目前通过Rild,AP和BP的通信方转载 2017-06-13 19:34:25 · 1599 阅读 · 0 评论 -
Android——RIL 机制源码分析
Android 电话系统框架介绍在Android系统中rild运行在AP上,AP上的应用通过rild发送AT指令给BP,BP接收到信息后又通过rild传送给AP。AP与BP之间有两种通信方式:1.Solicited Response:Ap向Bp发送请求,Bp给Ap发送回复,该类型的AT指令及其回调函数以数组的形式存放在Ril_commands.h文件中: {数组中的索引号,请求回调函数,响应转载 2017-06-13 11:02:50 · 1995 阅读 · 0 评论 -
Android7.1修改系统默认多媒体音量大小
p { margin-bottom: 0.1in; direction: ltr; line-height: 120%; text-align: justify; }Android7.1修改系统默认多媒体音量大小始修改\frameworks\base\packages\SettingsProvider\res\values\defaults.xmldef_music_volumedef_music原创 2017-05-10 16:49:21 · 8735 阅读 · 1 评论 -
论初次修改 Android framework 代码
点击打开链接论初次修改 Android framework 代码背景公司产品需求,需要修改系统 framework 层的部分界面显示,包括声音调节、亮度调节、长按电源关机等。准备我并不是白手起步,有负责硬件的同学帮我搭建编译环境、vim 编辑环境(一些辅助插件)。由于 Android 源码结构太过复杂,不建议强记,但是它的层次还是要大概清楚,比如 framework层 -> base -> cor转载 2017-05-10 16:36:25 · 1918 阅读 · 0 评论 -
修改 framework 代码的经验和踩过的坑
点击打开链接修改 framework 代码的经验和踩过的坑1 经验源码主要目录结构 目录 子目录 子目录 描述 android/frameworks/base core java/com/android/ 和 java/android/view/ 音量调节的代码位置;涉及部分关机逻辑代码;android 的核心源代码 - packages SystemUI SystemUI转载 2017-05-10 16:31:26 · 1202 阅读 · 0 评论 -
android7.1默认背光亮度及编译调试
p { margin-bottom: 0.1in; direction: ltr; color: rgb(0, 0, 10); line-height: 120%; text-align: justify; }p.western { font-family: "等线",serif; font-size: 10pt; }p.cjk { font-family: "等线"; font-size: 10原创 2017-05-11 10:38:45 · 3955 阅读 · 0 评论 -
Android4.3 屏蔽HOME按键返回桌面详解(源码环境下)
点击打开链接首先声明我是做系统开发的(高通平台),所以下面介绍的方法并不适合应用开发者。 最经有个需求要屏蔽HOME按键返回桌面并且实现自己的功能,发现以前的方式报错用不了,上网搜索了一下,发现都是抄来抄去基本是无用的。网上的方法不外乎这几种: 第一, 大家最常用的重写onAttachedToWindow()方法,然后在HOME点击事件KeyEvent.KEYCODE_HOME中做自己想做转载 2016-09-29 19:47:50 · 1839 阅读 · 0 评论 -
Android4.4.2KK竖屏强制更改为横屏的初步简略方案
点击打开链接解决方案:当前是根据当前问题场景即竖屏强制更改为横屏的需求而做的改动,基本是hardcode定义的状态,总共修改有效代码行数5行,如果后续有其他需求或者需要更灵活的配置横屏和竖屏,可以采用编译开关生成系统属性的方式来控制,在系统中通过属性来判断当前的屏幕状态以达到灵活目的,可以在本次修改的基础上增加条件判断达到目的,具体修改代码如下图中圈红标识。一、Android Framework转载 2016-07-06 09:18:33 · 2094 阅读 · 0 评论 -
android ART编译预优化
点击打开链接编译预优化DEX文件编译比较花费时间。这在OTA或者工厂首次烧入程序后非常明显。可以在BoardConfig.mk文件中使能编译预优化,在编译时将会为APK/jar做Dex优化(dex2oat):[plain] view plain copyWITH_DEXPREOPT := true 如果完全的编译预优化,则system.img的大小将会增加500MB。由于ASLR特性,预优化的D...转载 2018-03-05 19:50:46 · 470 阅读 · 0 评论