鸿蒙
文章平均质量分 79
Android高级知识分享官
安卓技术专家
展开
-
Android FrameWork开发之binder驱动的源码分析1
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)上一节已经讲过ServiceManager其实也是属于一个普通的应用程序,它也需要与binder驱动进行通信,他在跨进程通信中CS模式中扮演的Server端,普通进程需要添加获取Service就是Client端,如下图:具体过程如下:上节课把与驱动通信这一部分完全当作一个黑盒子,本节讲带大家源码层面进行分析,当然因为代码实在太多,这里主要就把几个主要流转载 2021-10-07 10:36:46 · 334 阅读 · 0 评论 -
千里马android Framework实战开发-你真的懂aidl转换吗(aidl命令转cpp)
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)千里马android Framework实战开发-你真的懂aidl转换吗(aidl命令转cpp,aidl命令转java)原来讲解aidl时候给大家讲过是转换成java文件情况,也给大家展示了怎么使用命令来吧aidl文件转换成java。但是这里有个疑问了,难道aidl文件就只能转换成java文件么,难道不可以转换成cpp文件么?如果可以转换成cpp文件那是不是对我转载 2021-10-07 10:25:14 · 708 阅读 · 0 评论 -
千里马android framework实战开发-binder驱动之oneway导致的transaction failed
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)千里马android framework实战开发-binder驱动之oneway导致的transaction failed首先来看错误:06-15 12:10:36.686 31395 31507 W System.err: android.os.DeadObjectException: Transaction failed on small parcel; r转载 2021-10-07 10:22:36 · 2226 阅读 · 0 评论 -
Android Framework实战开发-(1)binder通信常见使用方式,及案例分析
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)(1)binder通信常见使用方式,及案例分析转载 2021-10-07 10:20:04 · 88 阅读 · 0 评论 -
千里马Android Framework-Binder通信总结流程图
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)转载 2021-10-07 10:16:41 · 184 阅读 · 0 评论 -
千里马Android Framework实战开发-binder驱动常见binder_open,binder_mmap介绍
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)背景知识:大家经常听到的驱动驱动,是不是一般都会有与一个具体的硬件设备相关,比如说wifi驱动,触摸屏驱动等。binder驱动是不是也是会有一个对应的一个硬件设备呢?哈哈,这里要告诉大家是没有的,因为binder本身只是用于操作系统进程间一个通讯而已,只涉及一些内存的拷贝,并不需要额外的硬件来支持,和linux常见的socket,共享内存,等一样哈。所以binde转载 2021-10-07 10:13:38 · 170 阅读 · 0 评论 -
千里马Android Framework实战开发-跨进程通信专题博客总结
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论FrameWork入门课视频链接:https://edu.csdn.net/course/detail/30298FrameWork实战课1视频链接:https://edu.csdn.net/course/detail/30275android跨进程通信实战视频课程(加群获取优惠)千里马Android Framework实战开发-跨进程通信专题介绍1、跨进程通信之课程介绍1 binder高级应用程序app的转载 2021-10-07 10:12:22 · 242 阅读 · 0 评论 -
千里马Android Framework实战开发视频-binder驱动的简单核心方法及原理介绍
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)## binder驱动的简单核心方法及原理介绍1、linux操作系统用户空间和内核空间简单介绍一般内核空间1GB,用户空间是3GB2. 为什么要分为内核空间和用户空间cpu在不同的工作模式下可以访问的寄存器是不一样的,所以为了保护我们的操作系统,避免用户程序将内核搞崩,所以进行了内核空间和用户空间的划分。3.用户空间想要访问内核空间怎么办?只能通过系统调转载 2021-10-06 11:21:02 · 169 阅读 · 0 评论 -
Android Framework实战开发-binder通信java及jni部分源码分析
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)1、第一部分进程与ServiceManager通信及客户端程序发起调用详解平时大部分获取ServiceManager中的某一个服务,一般都是最后都是ServiceManager.getService这种方式://ServiceManager.java中 public static IBinder getService(String name) {转载 2021-10-06 11:19:16 · 229 阅读 · 0 评论 -
千里马Android Framework实战开发-am命令怎么编译生成及native程序与java程序的binder通信实战
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)千里马Android Framework实战开发-am命令怎么编译生成及native程序与java程序的binder通信实战背景:大家如果看到binder通信native和java,肯定以为java是apk,但本节课就非要带大家了解点android中其实除了apk这种java程序,还有一类jar的运行程序,这样让大家就可以收获更多的知识点。当然大家学习完了觉得还转载 2021-10-06 11:16:08 · 202 阅读 · 0 评论 -
千里马Android Framework实战开发-native程序之间binder通信实战案例分析
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)千里马Android Framework实战开发-native程序之间binder通信实战案例分析1、需求背景在android系统开发中,不仅仅我们都停留在java层面,很可能也会遇到比如一些native的可执行程序,比如surfaceflinger,bootanimation等他们都是native的执行程序,这些程序之间也经常会有要进行binder跨进程通信的转载 2021-10-06 11:12:16 · 149 阅读 · 0 评论 -
Android Framework实战开发-socketpair介绍及它在android系统源码使用分析
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)Android Framework实战开发-socketpair介绍及它在android系统源码使用分析1.socketpair介绍在linux下,使用socketpair函数能够创建一对套节字进行进程间通信(IPC)。函数原形:#include <sys/types.h>#include <sys/socket.h>int so转载 2021-10-06 11:09:14 · 309 阅读 · 0 评论 -
Android Framework实战开发-socket跨进程通信之native程序与apk java通信
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)unix socket前面几节课已经讲过了,但都是基于linux下面的c程序,那么在android中往往经常会遇到c代码的native程序要与apk的java程序进行socket通信,本节课我们来实现一下:直接上代码:native端作为服务端:#include <stdio.h>#include <stdlib.h>#includ转载 2021-10-06 11:04:52 · 165 阅读 · 0 评论 -
Android Framework实战开发-Socket让app实现shell命令行执行
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)Android Framework实战开发-Socket让app实现shell命令行执行1、项目背景在android系统开发过程中,经常会有这样一个需求,就是可能需要让自己app执行一个shell脚本,但是目前app的一般方法都是getRumtime exec方式,但是这种方法基本不可能可以实现,因为只有在root的机子上这个方法才可以成功,但是你想想,一般正常转载 2021-10-06 11:03:14 · 317 阅读 · 0 评论 -
千里马Android Framework实战开发-Binder通信之startActivity跨进程源码分析
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)上节课我们已经讲解完了Binder常见使用的一些方法,下面这节课我们来讲解一些Binder跨进程通信在平时Framework及SystemServer源码分析场景。(注意这个分析是基于我们的android 10,因为课程上讲过android 8.1,也相对比较清楚了,这里blog就单独写一下android 10,因为和8.1有一些差异,这样可以多学习到androi转载 2021-10-06 10:59:59 · 184 阅读 · 0 评论 -
千里马Android Framework实战开发-binder通信之Messenger介绍
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)Messenger是什么?Messenger是基于AIDL实现的轻量级IPC方案。这里立马就会有疑问为什么要它呢?明明有了aidl上节课大家学完了aidl进行binder通信是否感觉到使用起来其实还是有点复杂,毕竟通信什么的要写aidl,而且客户端和服务端都需要aidl文件,两个过程里面都需要,相对来说还是比较麻烦,对于项目过程中可能就是一些简单的跨进程数据传转载 2021-10-06 10:56:42 · 198 阅读 · 0 评论 -
Android Framework实战开发-binder通信常见元素介绍及binder双向通信的实现
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)aidl的一些关键字:1、oneway介绍oneway 关键字用于修饰远程调用的行为,被oneway修饰了的方法不可以有返回值,也不可以有带out或inout的参数。使用oneway时,远程调用不会阻塞;它只是发送事务数据并立即返回。接口的实现最终接收此调用时,是以正常远程调用形式将其作为来自 Binder 线程池的常规调用进行接收。2、in,out,ino转载 2021-10-06 10:54:11 · 206 阅读 · 0 评论 -
Android Framework实战开发-Binder专题讲解之aidl文件的详细分析
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)大家平时做应用开发时候也经常会遇到有跨进程通信的需求,这里大部分通信可能就会回答,就是用aidl,service。确实这个aidl和service的方式是应用开发中对binder接触层面应该属于最为接近的一层。因为其他的接口方式跨进程通信,比如startActivtiy,ContentProvider,broadcast,这些都是系统组件接口直接帮我们做好的,连bi转载 2021-10-04 20:57:44 · 233 阅读 · 0 评论 -
Android Framework实战课程-binder专题之ServiceManager启动及运行篇
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)目标:1、理解servicemanager的dns角色含义2、源码层面理解servicemanager做了什么路径:frameworks/native/cmds/servicemanager/servicemanager.rcservice servicemanager /system/bin/servicemanager class core an转载 2021-10-04 20:47:07 · 108 阅读 · 0 评论 -
千里马Android Framework实战课程-应用程序app的Binder启动篇
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)上一个学习专题zygote启动app进程时候,有简单讲过一下binder启动,但没有详细进行分析。这一节进行重点详细分析。Android Framework实战视频–SystemServer启动篇进程通过zygote进行fork后调用ZygoteInit.nativeZygoteInit(),是一个native方法,实现在AndroidRuntime里面,最后调转载 2021-10-04 20:45:10 · 109 阅读 · 0 评论 -
Android Framework实战开发-跨进程通信之 epoll详细讲解
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)1、epoll出现的背景首先了解2个基本概念:阻塞IO(blocking IO):socket 的阻塞模式意味着必须要做完IO 操作(包括错误)才会返回。非阻塞IO(blocking IO):非阻塞模式下无论操作是否完成都会立刻返回,需要通过其他方式来判断具体操作是否成功。回想一下上节课我们的网络通信的demo:针对Server端它做的事情如下: w转载 2021-10-04 20:43:02 · 610 阅读 · 0 评论 -
Android Framework实战开发视频--跨进程通信之Socket通信
csdn在线学习课程,课程咨询答疑和新课信息:QQ交流群:422901085进行课程讨论android跨进程通信实战视频课程(加群获取优惠)Android Framework实战开发视频–跨进程通信之Socket通信1 Socket是什么呢?Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。转载 2021-10-04 20:39:19 · 219 阅读 · 0 评论 -
Android Framework实战开发视频--跨进程通信之Unix Socket通信
Android Framework实战开发视频–跨进程通信之Unix Socket1 专门用于跨进程通信的Unix Socket做过java相关app开发肯定学过socket通信等一些小程序来实现局域网通信,学会了通过ip地址来进行一种网络通信,但这种通信一般用于跨设备访问场景。而我们如果在同一个设备上,只是进程与进程之间的一种通信,那就完全没有必要使用这种网络通信方式,因为明显感觉不合适,进程间本身处于一个设备上,为啥还要通过ip网络,网卡走一圈再回来。所以针对这个问题就出现了本节课要讲的Unix D转载 2021-09-08 23:04:44 · 413 阅读 · 0 评论
分享