android
文章平均质量分 86
wangwei890702
Android Framework开发攻城狮
展开
-
Listview绘制原理 与adapter
Listview绘制原理 与adapter ListView绘制的过程如下:首先,系统在绘制ListView之前,将会先调用getCount方法来获取Item的个数。之后每绘制一个Item就会调用一次getView方法,在此方法(getView)内就可以引用事先定义好的xml来确定显示的效果并返回一个View对象作为一个Item显示出来。也正是在这个过程中完成了适配器的主要转换功能原创 2013-06-26 16:30:53 · 4269 阅读 · 0 评论 -
Android P keyguard 初始化,Pattern解锁等介绍
Android P keyguard 初始化,Pattern解锁等介绍学习就需要带着问题去看书看源码,针对keyguard 有如下几个问题:问题1:keyguard是什么?问题2:keyguard的初始化流程问题3:Pattern验证方式的解锁流程?本文使用到的调试方法,请点击查看 -> Android Framework 常用的调试方式keyguard是什么KeyGuard源...原创 2019-09-07 23:56:10 · 3184 阅读 · 0 评论 -
Android Framework 常用的调试方式
Android Framework 常用的调试方式JDB-> Android JDB 调试system_server方式Java直接通过log库打印当前执行堆栈android.util.Log.d("TAG",android.util..getStackTraceString(new Throwable()));NativeC++也是支持异常处理的...原创 2019-09-07 17:03:11 · 687 阅读 · 0 评论 -
sw-xxxx-dp的计算方法
Android应用里里,大家一定饱受各种layout-sw480dp layout-sw600dp-land layout-sw720dp-port之苦,往往不知道自己的平板加载的是哪个Layout而不得不一个个尝试,网上一大堆说不清的教程。本人查阅很多资料,给大家分享一种计算方法确定自己平板所加载哪个dp的资源。 事实上,sw不是software的,意思,我猜是shortest wi...转载 2019-09-03 14:55:59 · 2159 阅读 · 0 评论 -
Android P zygote 启动过程
Android P zygote 启动过程Zygote 概述在Android系统中,DVM,ART应用程序进程以及运行系统的关键服务System_server 进程都是由Zygote进程来创建的。我们将其称之为孵化器。它通过fork的形式创建应用程序进程和system_server 进程。由于zygote进程在启动的时候会创建DVM或者ART,因此通过fork而创建的应用程序进程或者syste...原创 2019-09-01 20:48:02 · 437 阅读 · 0 评论 -
Background execution not allowed 广播无法接收问题的解决方法
Background execution not allowed,广播无法接收原因及解决方法出现此报错的原因是Android O中对隐式广播做了限制,请看源码如下:frameworks/base/services/core/java/com/android/server/am/BroadcastQueue.java829 final void processNextBroadcas...原创 2019-08-15 17:07:54 · 14436 阅读 · 2 评论 -
Android P PackageManagerService 初始化流程
Android P PackageManagerService 初始化流程概述解析AndroidManifest.xml,主要包括AndroidManifest中节点信息的解析和target-name的分析和提炼,这部分和ActivityManagerService和WindowManagerService都有紧急的联系。关于AndroidManifest.xml中的属性设置,会单独拎出...原创 2019-08-11 00:17:22 · 722 阅读 · 0 评论 -
Android JDB 调试system_server方式
Android JDB 调试方式将如下代码保存为 jdb_debug.sh#!/bin/bashpackageName=$1echo $packageNamepid=`adb shell ps | grep $packageName | awk '{print $2}'`echo $pidadb forward tcp:1234 jdwp:$pidjdb -attach local...原创 2019-08-04 20:33:39 · 1485 阅读 · 1 评论 -
MediaProvider流程分析
MediaProvider流程分析1. 概要Android MediaProvider 使用 SQLite 数据库存储图片、视频、音频、文档等多媒体文件的信息,供视频播放器、音乐播放器、图库、文档编辑器使用。按照谷歌的要求,Android上其他应用获取文件列表的时候修需要通过contentprovider来读取.类似的还有TelephonyProvider、CalendarProvider、C...原创 2019-08-04 20:08:09 · 9087 阅读 · 0 评论 -
Android 9 源码查看 - Ubuntu 16.04 搭建Opengrok 查看Android 9 源码
Ubuntu 16.04 搭建Opengrok 查看Android 9 源码前面一篇文章介绍了下载源码 ->Android 9 -源码下载编译1.安装 tomcat8通过APT源安装sudo apt-get install tomcat8 tomcat8-docs tomcat8-examples tomcat8-admin安装完成后的配置文件放置在/var/lib/...原创 2019-01-13 13:53:56 · 2201 阅读 · 0 评论 -
Android 9、10 -源码下载编译
Android 9 -代码下载编译1.背景:背景:现在Android framework 开发的同学,整体在公司里面解一些无关痛痒的bug,对于Android framework模块详细流程,可能只有在工作之外的时间去分析Android源码。由于某墙的原因,这里我们采用国内的镜像源进行下载.目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明。...原创 2019-01-12 22:27:46 · 18612 阅读 · 20 评论 -
如何提交Code到google open source android gerrit
也许你在进行android开发的时候会发现一些android原生的问题,那么你可以提交issue到google issue网站上,当然在提交的时候最好能先搜一下在google issue上是否已经有相关的CR已经提交过了,那么有就可以参考一下遇到该问题的Coder们都怎么分析的,申请一个gmail帐号你也可以和大家一起讨论,那么如果你想要将自己对该问题的修改提交到android的仓...转载 2018-04-23 13:28:19 · 1518 阅读 · 0 评论 -
Android getprop 读取的属性哪里来的?
在公司没事情做,就只有自己自觉慢慢学习自己想到的感兴趣的东西了,唉 说道这都是伤心泪啊、Android getprop 和 setprop 可以对系统属性进行读取和设置。通过串口执行以下 geyprop 打印出来的属性让你一目了然。属性出来了,但是在哪里设置的呢,这里有两个地方:一个是配置文件读取的,一个是系统动态获取的1、在android源码目录下的: system/c原创 2013-12-10 14:12:15 · 12360 阅读 · 0 评论 -
Android中C/C++打印堆栈的方法
Java可以方便的打印函数的调用栈。C/C++也可以为了显示在vm/Misc.cpp中谁调用了函数dvmAllocRegion,在这个函数中加入下面红色代码:点击(此处)折叠或打开#include ...void *dvmAllocRegion(size_t byteCount,int prot, const char *name){..转载 2013-12-10 22:33:44 · 8364 阅读 · 0 评论 -
Android aidl项目中服务端与客户端aidl文件不一致引起的问题
Android aidl项目中服务端与客户端aidl文件不一致引起的问题 前几天和林工联调的时候发现远程调用我的aidl接口时候,有的接口总是调用不正确,本来是想调用我的A接口,却实际调用出来却显示调用的我B接口。仔细检查了,没问题啊,不可能会把名称写错的啊。Aidl文件在最开始是固定的,但是接口在后面有增有减,就导致了我这边的aidl接口与他的aidl接口数量和顺序上都有差异了。后面怀疑转载 2013-09-26 09:35:25 · 4876 阅读 · 3 评论 -
android 隐藏API 在源码下编译报错cannot find symbol symbol
应该是我对android 不熟悉的缘故,今天使用源码编译了一个调用了隐藏api的应用程序始终报错:cannot find symbolsymbol : class IPackageInstallObserverXXXXXX而我将android 源码编译出来的:out\target\common\obj\JAVA_LIBRARIES\framework_intermedia原创 2013-09-11 00:55:36 · 4346 阅读 · 2 评论 -
javah 命令记录
今天看了《android框架揭秘》一书中的jni这块,按照书上的写法试了试javah命令, 今天通过javah生成h文件时遇到各种问题。不管是javah -classpath参数啊还是别的什么,一直都无法成功通过class文件生成h文件。 想了想应该是路径问题,现在终于成功编译出来了~ 先在cmd命令行里面切换到工程的目录 调用javah命令时,j原创 2013-06-27 10:34:12 · 869 阅读 · 0 评论 -
Deskclick 闹钟界面实现
Deskclick 闹钟界面实现 对于deskclock闹钟的界面的绘制:在activity中public class MainActivity extends Activityimplements OnItemClickListener实现内部类:class MyAdapter extends BaseAdapter并重写getCount,getItem,getIte原创 2013-06-26 16:36:29 · 1452 阅读 · 1 评论 -
高通thermal-engine配置文件格式详解
本文基于高通msm8939/8994平台文档及源码。 说明文档: vendor/qcom/proprietary/thermal-engine/readme.txt; 源码文件: venror/qcom/proprietary/thermal-engine/thermal_config_v2.c; 实际配置文...转载 2019-09-19 15:18:14 · 5419 阅读 · 2 评论