![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android 源码
文章平均质量分 59
骑摩托的巴菲特
这个作者很懒,什么都没留下…
展开
-
Android驱动开发之如何编译和更换内核
google把模拟器的内核代码还是放在goldfish之中,这很容易让人误解,因为goldfish已经是第一代模拟器的硬件代号了。并且在goldfish中的代码分支很少,给人一种不再维护的感觉。希望大家能愉快的编译和使用自己的内核!原创 2024-04-22 11:49:36 · 583 阅读 · 0 评论 -
Ubuntu上阅读Android源码工具
由于Android源码过于庞杂,里面有多种语言源文件,想只用一IDE统一索引是不现实的。我个人便使用AS阅读JAVA代码,VS看C/C++代码,在Ubuntu上不能使用SI,所以直接放弃。在framework开发这个层面上来讲,因为大部分是java语言,而安卓源码提供的工具可以做到对全部java文件索引,所以AS还是可以做到流畅的跳转的。生成android.iml(工程配置文件)和android.ipr(索引文件).原创 2024-04-19 19:32:41 · 366 阅读 · 1 评论 -
linux内核初始化成功后是如何过渡到android初始化的
Android用的linux内核,以完成OS该有的功能,例如,文件系统,网络,内存管理,进程调度,驱动等 ,向下管理硬件资源向上提供系统调用。另一些Android特有驱动也放在内核之中。当linux内核启动完成后,便进行Android的初始化工作。原创 2024-04-18 14:03:08 · 671 阅读 · 0 评论 -
ANDROID模拟器SU命令的位置
编译android源码时,发行版是不会编译su相关代码,其代码位于。在编译调试版本后,可执行文件su放在。原创 2024-04-17 17:14:49 · 271 阅读 · 2 评论 -
Android自带模拟器如何获得ROOT权限
如果在模拟器中不能切换到root权限,很可能是镜像使用的不对。在虚拟机管理器中新建AVD,并下载符合要求的镜像文件。1.运行在PC端选X86_64镜像,才能流畅运行。2.不带google api的镜像。原创 2024-04-17 12:16:10 · 544 阅读 · 0 评论 -
androd源码编译
下载完android-5.1.1_9后,大约103G。原创 2019-07-14 14:22:16 · 177 阅读 · 0 评论 -
如何下载Android源码
我们使用清华的镜像来下载Android源码, 将 https://android.googlesource.com/ 全部使用 https://aosp.tuna.tsinghua.edu.cn/ 代替即可。其说明在https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/,可以查看。先下载repo文件,它是一个脚本:mkdir ~/binPATH=~/bi...原创 2019-07-04 01:22:06 · 491 阅读 · 0 评论 -
AIDL中的Proxy,Stub以及其关系
在上篇文章中,了解了ITest.java与Proxy,Stub三者的层次关系。public interface ITest extends android.os.IInterface{ //Stub是一个Binder,也是一个ITest public static abstract class Stub extends android.os.Binder implements com.ex...原创 2019-06-16 16:31:00 · 1436 阅读 · 1 评论 -
AIDL 结构
android中的进程,有的是有init.rc中启动,有的是通过ams调用fork来启动。ams当然是在init.rc中启动的。aidl用来定义进程之间的接口,由于android应用进程与他进程频繁通讯,所以有大量的aidl文件。在分析ams的aidl之前,先以一个简单的例子来看看其结构:// IText.aidlpackage com.example.aidl;// Declare an...原创 2019-06-16 15:49:48 · 421 阅读 · 0 评论 -
Binder机制中Jni
在Service绑定成功后,会调用ServiceConnection的onServiceConnected方法,其中会传入一个IBinder参数。activity的bindService方法,最终会调用ActivityManagerService的bindService方法:public int bindService(IApplicationThread caller, IBinder to...原创 2019-06-20 23:23:08 · 1453 阅读 · 0 评论 -
AIDL示例
前面的文章,介绍了aidl的几个必要组成部分,以及其关系。这里由一个例子来更好的说明,并且,可以引向更深的问题。aidl在android应用层里面常用于单独进程的service与activity通讯。如果在同一个进程中的service与activity,当然没必要这样做。这两种使用service的方式,在形式上当然也是有区别的。现在我们要在一个单独的进程中,实现add方法,并且把结果返回给cl...原创 2019-06-19 00:55:52 · 449 阅读 · 0 评论