- 博客(33)
- 收藏
- 关注
原创 Android8.0.0-r4 ——Service的启动过程
Service组件在新进程中的启动过程主要过程如下所示:1.Client组件向AMS发送一个启动Server组件的进程间通信请求2.AMS发现用来运行Server组件的应用程序进程不存在,先将Server组件的信息保存下来,接着创建一个新的应用程序进程3.新进程启动完成后向AMS发送一个启动完成的进程间通信请求,以便AMS可以继续启动Server组件的操作。4.AMS将第二步保存下来的Server...
2018-02-28 08:21:51 538
转载 Android脚本envsetup.sh逐行分析
原网址:http://blog.csdn.net/guyongqiangx/article/details/73188477编译Android的第一步是执行source build/envsetup.sh设置编译相关的环境,里面到底都做了什么呢?我们来看一看。envsetup.sh的代码较长,共有1632行,但其内容较简单,只做了两件事: 1. 函数定义定义可以在命令行直接调用的函数,方便编译和调...
2018-02-27 01:46:20 739
原创 Android8.0.0-r4 Trusty TEE
Trusty TEETrusty 是一组在移动设备上支持可信执行环境 (TEE) 的软件组件。Trusty 包含以下组件:一个在用于提供 TEE 的处理器上运行的操作系统(Trusty 操作系统)适用于 Android 内核 (Linux) 的驱动程序,旨在促进与在 Trusty 操作系统下运行的应用之间的通信一组适用于 Android 系统软件的库,旨在使用内核驱动程序促进与在 Trusty 操...
2018-02-27 01:33:27 4516 1
转载 Android7.0 编译系统流程分析
原网址:http://blog.csdn.net/lizekun2010/article/details/52598105本文按照Android编译三部曲(source,lunch和make)的步骤来分析查看每个环节的主要流程,由于编译系统太过庞大,这里只是从关键的主干流程上做一个分析,不可能做到每个细节都剖析清楚,由于水平有限,如果有描述不够正确的地方,欢迎大家毫无保留的指正错误,在此先谢过。1...
2018-02-26 22:09:53 321
原创 Android.mk 变量
Android.mk 变量 (1)LOCAL_------这些变量在每个模块中都被设置。他们被命令include $(CLEAR_VARS)清理,所以你可以在包含include $(CLEAR_VARS)命令后,相信他们是空的。在你会使用的大多数的模块中的大多数变量都是LOCAL_变量。(2)PRIVATE_------这些变量是编译指定目标的变量。那意味着他们只在特定模块的命令当中是有用的。这也...
2018-02-26 18:53:07 1239
原创 init.rc配置经验
1.串口开放root权限 在init.rc中删去disabled和user root service console /system/bin/sh class core console #disabled #user ...
2018-02-26 01:36:08 629
原创 Android8.0.0-r4的编译系统
一、 概述1.1 编译系统变化从Android 7.0开始,android的编译系统发生了变化,之前依赖Makefile组织编译系统,从7.0开始逐步引入了kati soong(optional未正式使用,需要USE_SOONG=true开启),将Android.mk文件转化成ninja文件,使用ninja文件对编译系统进行管理。从8.0开始,android 引入了Android.bp文件来替代之...
2018-02-26 01:23:51 13584
原创 Android8.0.0-r4 init.rc文件解析
一、简述 Android init.rc文件由系统第一个启动的init程序解析,此文件由语句组成,主要包含了四种类型的语句:Action, Commands,Services, Options. 在init.rc 文件中一条语句通常是占据一行.单词之间是通过空格符来相隔的,如果需要在单词内使用空格,那么得使用转义字符"\", 如果在一行的末尾有一个反斜杠,那么是换行折叠符号,应该和下一行合并...
2018-02-26 00:33:45 1144 1
原创 Android8.0.0-r4 init进程分析 ueventd
ueventd主要是负责设备节点的创建、权限设定等一些列工作。服务通过使用uevent,监控驱动发送的消息,做进一步处理。ueventd实际和init是同一个binary,只是走了不同分支,可参看前一部分。ueventd的整体代码比较简单,主要是三部分: 解析ueventd.rc 初始化设备信息 循环polling uevent消息主函数及相关功能如下如下:1.ueventd.ueventd_ma...
2018-02-25 23:36:33 917
原创 Android8.0.0-r4系统的启动过程
Init进程是Linux系统中用户空间的第一个进程,其进程号为1。Android本质上就是一个基于Linux内核的操作系统。与 Linux的最大的区别是, Android 在应用层专门为移动设备添加了一些特有的支持。例如进程间通信机制中增加的Binder通信等。Android系统启动流程的前几步:1.启动电源以及系统启动 当电源按下时引导芯片代码开始从预定义的地方(固化在ROM)开始执行。加载引导...
2018-02-24 23:57:05 2160
转载 Android8.0.0-r4的APK的卸载
原网址:http://blog.csdn.net/xinsong1989/article/details/785274391.简介:Android的每个应用程序,都有自己的可控的目录。在Setting/Application info里面,可以看到每个应用程序,都有Clear data和Clear cache选项。具体这些目录在哪里呢?用adb连接上设备。如果是连接真实设备,需要有设备的root权...
2018-02-23 07:52:23 1269
转载 adb命令大全
原网址:http://blog.csdn.net/c1063891514/article/details/79118243基本用法命令语法为命令指定目标设备启动/停止查看 adb 版本以 root 权限运行 adbd指定 adb server 的网络端口设备连接管理查询已连接设备/模拟器USB 连接无线连接(需要借助 USB 线)无线连接(无需借助 USB 线)应用管理查看应用列表所有应用系统应用...
2018-02-20 20:22:53 674
原创 Android8.0.0-r4的APK的显示
Android系统提供了一个默认的Home应用程序——Luncher,用来显示系统中已经安装了的应用程序,它是由System进程负责启动的,同时它也是系统中第一个启动的应用程序。 将系统中已经安装了的应用程序显示出来的目的是为了让用户有一个统一的人口来启动它们,一个根AciLivity组件的启动过程就代表了一个应用程序的启动过程。 因此,应用程序Launcher在显示一个...
2018-02-14 23:16:11 394
原创 Android8.0.0-r4的APK的安装
System进程在启动时,会调用PackageManagerService类的静态成员函数main将系统的Package管理服务PackageManagerService启动起来。由于PMS在apk的解析,安装过程中发挥在及其重要的作用,我们结合Android8.0.0-r4的源代码,对其进行详细介绍。此过程共分为10个步骤,下面我们一一结合具体代码进行说明:1.在SystemServer中启动P...
2018-02-13 01:02:35 2363
原创 Android8.0.0-r4的log系统
Android提供的Logger日志系统是基于内核中的Logger日志驱动程序实现的。日志的类型一共分为四种:main,system,radio和events。在驱动中分别通过/dev/log/main、/dev/log/system、/dev/log/radio、/dev/log/events四个设备来访问的。类型为main的日志是应用级别的,在应用框架层提供了android.util.Log接...
2018-02-12 00:01:59 2963
原创 Android-8.0.0-r4——Activity的完整启动过程
由于Activity在8.0上相比较之前的代码,有一些差异,所有特写此文记录一下根Activity组件是由 Launcher组件来启动的, 而Launcher组件又是通过 Activity管理服务 ActivityManagerService来启动根Activity组件的。由于根Activity组件、 Launcher组件和ActivityManagerService是分别运行在不同的进程中的, ...
2018-02-05 13:41:00 5722
原创 Android 8.0.0-r4源码目录结构详解
android的移植按如下流程: (1)android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来。 (2)正确挂载文件系统,确保内核启动参数和 android 源代码 system/core/rootdir 目录下的 init.rc 中的文件系统挂载正确。 (3)调试控制台,让内核启动参数中的 console 参数以及 android 源代码 system/...
2018-02-05 00:01:01 12429 7
原创 repo的移植
由于repo是通过manifest.xml文件来管理多个git库的进行此的前提是你已经搭建好了gerrit并配置好了repo配置repo文件:http://mp.blog.csdn.net/postedit/79250492搭建gerrit:http://mp.blog.csdn.net/postedit/792503731.server端 默认在git目录下,建立空git库
2018-02-04 14:34:39 386
转载 repo的manifest.xml文件全解
manifest.xml 文件结构: manifest这个是配置的顶层元素,即根标志remotename:在每一个.git/config文件的remote项中用到这个name,即表示每个git的远程服务器的名字(这个名字很关键,如果多个remote
2018-02-04 13:50:42 13537 1
原创 LDAP认证
第一步:修改hostname127.0.0.1 localhost127.0.1.1 ldap.nwpushuai.com alternative192.168.1.4 ldap.nwpushuai.com1.搭建LDAP认证服务器server 端 sudo apt-get install slapd ldap-utils ...
2018-02-04 11:44:13 3080
原创 搭建XMAPP,BBS,TestLink MantisBT,Bugzilla,Jenkins (Windows)
1.安装XMAPP (使用的版本:xampp-win32-7.1.7-0-VC14-installer.exe)2.安装Discuz (使用的版本:Discuz_X3.3_SC_UTF8.zip) 1.将Discuz_X3.3_SC_UTF8.zip解压(upload 这个目录下面的所有文件是我们需要上传到服务器上的可用程序文件;readme 目录为产品介绍、授权、
2018-02-04 09:52:47 1150
原创 搭建BBS,TestLink MantisBT,Bugzilla,Jenkins (Ubuntu)
1. 安装apache 1.安装apahce:sudo apt-get install apache2 2.配置apache: /etc/apache2/apache2.conf 找到""的位置-->更改"/var/www/"为新的根目录就可以了,这里我把它更改为"/home/nwpushuai/SoftWa
2018-02-04 09:51:45 443
转载 gerrit权限控制
gerrit权限控制原网址:http://blog.csdn.net/chenjh213/article/details/50571190Gerrit 代码审查权限说明:http://mp.blog.csdn.net/postedit/79251109Gerrit 服务器自身权限说明:http://mp.blog.csdn.net/postedit/79251112
2018-02-04 09:49:06 7039
原创 Gerrit 服务器自身权限说明
权限总览图Access Database: 此类权限允许用户有进入gerrit自身的数据库的权限。 Batch Changes Limit: 此类权限允许用户有批量修改
2018-02-04 09:46:23 509
转载 Repo 的使用小结
原网址:https://www.cnblogs.com/v2m_/p/7060832.html一、安装创建目录和修改环境变量$ mkdir ~/bin$ PATH=~/bin:$PATH下载repo代码$curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo > ~/bin/repo$ chmod
2018-02-04 00:22:55 6000
转载 Android—API中文文档
原网址:http://blog.csdn.net/logol_van/article/details/7355326目录:(1) —— TextView(2) —— EditText(3) —— AccessibilityService(4) —— Manifest(5) —— View(6) —— ImageView
2018-02-03 23:58:20 4776
原创 Gerrit安装
1. Gerrit安装之前mysql的准备工作 1.由于gerrit,我决定使用mysql数据库,所以要对配置进行修改以及。 Gerrit使用mysql的问题解决:http://blog.csdn.net/nwpushuai/article/details/79250379 2.创建mysql数据库 ...
2018-02-03 23:42:13 2297
原创 gerrit的配置文件详解
[gerrit] basePath = git #git仓库的位置 serverId = 135fae90-5324-49fc-8cb0-b7e8e4400e6c #gerrit服务器的serverId canonicalWebUrl = http://localhost
2018-02-03 23:41:35 6901
原创 Gerrit下mysql5.7配置修改
1. mysql默认编码配置 1.设置mysql服务端的默认编码 配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf 打开文件后,在[mysqld] 的skip-external-locking下,添加character-set-server=utf8 ...
2018-02-03 23:37:40 1673
原创 OpenGrok源码搜索引擎搭建
1. OpenGrok简介有些情况下,我们需要在GB级别甚至几十GB级别且随时不断更新的大型代码(比如Android源码)里面搜索阅读源码,那么我们自然而然会有以下一些基本的需求:能够快速搜索代码,代码可存放于本地/服务器,代码之间可以跳转,跨平台,易于维护.显然SourceInsight、ctags、grep等工具在这些场景下就不太适合,于是有了OpenGrok这类代码搜索引擎。先看看维
2018-02-03 23:31:27 1312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人