自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(225)
  • 资源 (71)
  • 收藏
  • 关注

原创 OpenHarmony下musl编译工具链普法

LLVM 成长之后已成为众多编译工具及低级工具技术的统称,使得这个名字变得更不贴切,所以开发者决定放弃这个缩写的涵义,现在 LLVM 已独立成为一个品牌,适用于 LLVM 下的所有项目,包括 LLVM 中介码、LLVM 除错工具、LLVM cpp 标准库等。对于一个比较大的第三方库,其头文件和库文件的数量是比较多的,如果我们一个个手动地写,那将是相当的麻烦的。事实上,pkg-config只是一个工具,所以不是你安装了一个第三方库,pkg-config就能知道第三方库的头文件和库文件的位置的。

2024-03-06 09:32:45 1100 1

原创 Android minigbm框架普法

因为前端就是gralloc hal的接口定义,都是一致的,然后后端backend抽象出来,然后根据实际的情况,调用具体的gpu用户层接口实现!这里我们可以看到这里抽象出来了几种典型的GPU的backend,然后再根据前面获取到的drm的驱动名称进行匹配,匹配到了则返回合适的backend,没有则返回NULL。这里我们以evdi为例子来进行相关的分析。minig的核心主要是提供gralloc的HAL实现,但是我看它也提供了私有的HIDL service实现,关于HIDL的实现这个暂时不在我们考虑的范围之内。

2024-03-01 16:40:28 1319 2

原创 OpenHarmony下GN语法普法

鉴于无法测试列表项的添加引入,可以这样使用:设置一个文件或标志的主列表,然后根据各种条件删除不适用于当前版本的文件或标志。构建应该做的大多数事情通常都可以在不这样做的情况下来完成,如果你觉得有必要,这可能表明你在元构建中做了太多的工作。一个值可以是一个域。当最终在命令中使用源路径时,它们会转换为对应于操作系统的(OS-appropriate)路径,这些路径是绝对的或相对于构建目录(运行命令的位置)的路径。这意味着,例如,当您定义target目标时,您在块内执行的任何操作都不会“泄漏”到文件的其余部分。

2024-02-20 16:58:06 1114 2

原创 OpenHarmony下gn相关使用

为了提高OpenHarmony下移植vivante gpu的成功率,先得把准备工作做足了,这样后续就好搞了。所以本文档的核心工作介绍GN构建工具在OpenHarmony中的常见使用方法,指导三方库由cmake或者其它的脚本构建到GN构建的转换!好了今天的博客OpenHarmony下gn相关使用就到这里了。当使用GN进行相关的构建时,需要了解如何指定动态库、静态库和可执行文件的构建规则。在GN中,可以使用executable模板来指定可执行文件的构建规则。3.4 GN在OpenHarmony上的扩展。

2024-02-20 16:52:18 949 1

原创 关于Android下gralloc,hwcompoer以及surface模块的重新认识

native_handle/native_handle_t只是定义了一个描述buffer的结构体原型,这个原型是和平台无关的,方便buffer在各个进程之间传递,注意成员data是一个大小为0的数组,这意味着data指向紧挨着numInts后面的一个地址.我们可以把native_handle_t看成是一个纯虚的基类.对于native_handle和native_handle_t,以及private_handle_t这三个类型可以看作是同一个东西,而buffer_handle_t则是指向他们的指针.

2024-02-19 19:06:57 1226 1

原创 Android下SF合成流程重学习之GPU合成

通过上述的代码我们可以看到在启动之初就搭建好了EGL环境,并将当前线程与context绑定,为后面使用gl命令做好准备,然后创建了ImageManager 线程,这个线程是管理输入Buffer的EGLImage,然后创建了GLFrameBuffer,用来操作输出的buffer。当需要GPU合成时,会通过生产者RenderSurface::dequeueBuffer请求一块图形缓存,然后GPU就合成/绘图,把数据保存到这块图形缓存中,通过RenderSurface::queueBuffer提交这块缓存。

2024-02-18 16:30:12 1461 1

原创 Android下SF合成流程重学习之Refresh流程

至此,SurfaceFlinger刷新的主体函数分析完了,可以看出来,如果是走device合成,SurfaceFlinger是直接把layer信息提交给hwc,由hwc去合成.prepareFrame 的作用是根据hwc的能力选择合成方式,如果是device合成则直接走hwc present上屏,如果是GPU合成后面则走hwc validate,然后根据hwc过来的变化改变layer的合成方式。composeSurface的主要核心逻辑是针对GPU合成,对于device合成,则直接return了。

2024-02-18 16:14:56 1180 3

原创 Android下SF合成流程重学习之onMessageInvalidate

handleMessageInvalidate主要作用是执行 latchBuffer 去 acquire 应用queue过来的Buffer,然后拿到queueBuffer时设的Bufferslot一些状态属性给到BufferQueueLayer的mBufferInfo,同时还把这个Buffer做成EGLImage为后面的GPU合成做准备,期间都是数据之间的传递,所以说SurfaceFlinger并未真正触碰Buffer的内容。总之,青山不改绿水长流先到这里了。本篇引用的代码,主要是Android R的。

2024-02-18 16:13:05 1163 1

原创 普法GraphicBuffer诞生以及跨进程传递

SurfaceFlinger进程 和 IAllocator服务进程之间通过 hidl_handle 类型的数据传递 图形buffer共享内存的fd数据传输中对 hidl_handle 类型数据特化处理,并把binder数据类型设置为 BINDER_TYPE_FDAbinder内核对 BINDER_TYPE_FDA 类型数据特化处理同时在 IAllocator.allocate 的回调函数中调用 IMapper.importBuffer 把内存映射到当前进程。

2024-02-18 14:01:08 944 3

原创 repo sync fatal: this operation must be run in a work tree

又有好久没有写点偏重实战类型的博客了,最近一直都在捣鼓源码分析和项目相关事情,是时候来点偏重实战类型的博客了。由于这是一篇实战类型的博客,所以废话不多说,直接上解决办法,其最最核心的逻辑是直接删除.repo内报错的对应的.git文件即可,我们这里以上面的adeb为例,来进行说明。并且注意上述-j4 --fail-fast的参数,是在进行repo sync时候报错会提示执行的,这个也不能解决上述错误!注意,这里发生这个问题通常是在进行APSP下载,执行repo sync的时候异常中断导致的!

2023-05-23 10:17:57 1428 1

原创 OpenHarmony dump渲染和合成图层SurfaceBuffer指南

好了,感慨也发完了,是时候切入正题了。各位读友,千万不要喷我,因为我这也是第一次深入到OpenHarmony显示这块的源码逻辑,为啥我深入到了这块,因为入职了一家原厂。是的,这是因为无论是渲染的图层还是合成之后的图层它们都是通过SurfaceBuffer来进行存储指向的。有的只有是兄弟就砍一刀。其中,我们引用上述封装好的dump函数时候,我们在对应的BUILD.gn中必须,引入如下的库和头文件,如下。然后将获取到的地址中的内容,以一定的格式进行存储,通常是GRB888格式(也可以进行相关的封装)

2023-05-19 10:06:15 1737 11

原创 OpenHarmony下如何打印C/C++调用堆栈

没有关系,因为你看到了这篇,从此可以为你打开新世界的大门,增加一种调试手段,那就是OpenHarmony下打印C/C++调用堆栈。OpenHarmony值路漫漫吾将上下而求索,总之,各位,青山不改绿水长流先到这里了!这里的BUILD.gn必须是你需要跟踪堆栈的文件所对应的BUILD.gn中,而不是随便一个。这里的BUILD.gn必须是你需要跟踪堆栈的文件所对应的BUILD.gn中,而不是随便一个。这里的BUILD.gn必须是你需要跟踪堆栈的文件所对应的BUILD.gn中,而不是随便一个。

2023-05-12 09:14:41 1598 2

原创 普法OpenHarmony送显流程

OpenHarmony送显流程分析OpenHarmony送显流程分析引言本文档主要记录OpenHarmony在渲染完成之后如何进行合成和送显流程的。这个过程牵涉的代码很多,而且流程也是比较繁琐的。所以我一定要坚持下来。千万不能半途而废,也不要想着一口气吃出一个胖子,路漫漫其修远兮吾将上下而求索!一. 应用端发送NextVSnc请求,服务端响应还记得那年大明湖畔的夏雨荷吗!

2023-05-06 17:23:44 2439 5

原创 从bootanimation出发分析OpenHarmony下Gralloc buffer管理机制

从bootamition出发分析OpenHarmony下Gralloc buffer管理机制从bootamition出发分析OpenHarmony下Gralloc buffer管理机制引言这个文档主要记录从bootamition角度出发,分析OpenHarmony下对gralloc buffer的管理!由于OpenHarmony图形子系统过于复杂,且个人由于能力有限,这里我仅从gralloc buffer出发,从整体上对Gralloc buffer进行梳理!虽然过程会很艰辛,但是我一定要坚持下来。

2023-05-06 17:16:08 1233 3

原创 Android/Linux 子系统Graphics图形栈入门普法介绍

GTK+和QT是GUI toolkits,属于软件库,类似c语言的stdio.h,win32,java里import的各种外部包,可以任开发者调用(应该是C/C++使用的库)去创建一些图形界面里面的控件,例如button,下拉菜单,窗口等。而人机交互的本质,是人脑通过人的输出设备(动作、声音等),控制终端的输入设备,终端经过一系列的处理后,经由终端的输出设备将结果输出,人脑再通过人的输入设备接收电脑的输出,最终实现“人脑终端”之间的人机交互。这是一个非常耗时的操作,GPU 的引入就是为了加快栅格化。

2023-01-16 10:17:51 4706 14

原创 Android AOSP和Android-X86源码下载编译终极普法

其实这个说简单也简单,说复杂吗也不复杂。如果仅仅是想获取代码,不需要tag或者git信息,可以有一种更加快速的方法,repo sync --no-tags --no-clone-bundle。在具体的编译过程中,可能会遇到各种错误提示,通常是有一些依赖没有安装造成的,朋友可以在编译的过程中自行安装即可。2.如果使用清华的源下载的速度非常慢的话,建议开发者可以切换到中科大的源进行先关的操作,具体可以详见博客。1.由于国内的环境,此处默认大伙是不能翻墙的情况下进行相关源码的下载,如果能翻墙的话那就比较简单了。

2022-12-08 18:09:16 2301 7

原创 Android R系统aidl文件怎么对应的java文件找不到了?

这不趁着这两天有点空闲时间,准备调试下Android,可是尼玛确突然发现Android的系统aidl文件转换生成的java文件一直找到不,我find,grep找了个寂寞怎么也找不到。这才有了今天的博客。而对于Android R中如果aidl文件被标记为hide,则需要通过aidl命令,手动转换aidl文件到java文件。通常的一个好的命令通常会提供说明使用的命令,它肯定也不例外,我们可以在终端下输入aidl或者aidl --help。对于实战类型的博客,我们不来虚的,必须真刀真枪的实干才可以。

2022-11-11 17:35:18 2080 5

原创 Android R窗口Window的requestlayout过程大揭秘

是的我也有这个感觉,因为我这篇博客是为了后续引出应用Surface创建而添加的一个博客,所以写得简单也是清理之中的,因为该篇博客是一个过渡主要是为了后续的博客不唐突而添加的。虽然这里我提到了了应用绘制三部曲,但是很遗憾我们今天的重点也不是它,我们今天的重点是ViewRootImpl,如何向WMS服务请求relayoutWindow布局,主要是填充Surface,构建对应的Window的BufferLayer。好了,不多说了,我们直接看代码!该系列博客尘封很久很久了,是时候该再续前缘,重新上路了!

2022-11-11 11:28:37 1366 4

原创 普法Android.mk中的一些宏和Android.bp对应关系

陆陆续续有不少小伙伴在后台咨询关于Android.mk怎么转换成Androdi.bp的问题,虽然也解答了不少,但是也有一些当时我没有能够给出及时的答复(不是我不想答复,而是确实有些我当时也没有一个具体的答案)。这里最后留下一个小彩蛋,对于上述的Android.mk读者朋友看看能否正确的转换为Android.bp,当然也希望读者能我一起探讨是最好的了。同时在同一个目录下面的androidmk_test.go,为我们提供了许多Android.mk转换为Android.bp的实例,这个非常值得我们借鉴。.....

2022-08-09 14:44:59 2375 2

原创 普法安利一个调试debug小技巧

  博客沉寂很久,肯定不是干坏事被抓吃公交粮食去了!而是最近忙着给OpenHarmony鸿蒙适配GPU渲染加速。尼玛,其中的各种坑啊,填了一个又一个,其中最最拖延了开发进度的事情就是给鸿蒙适配我司的GPU的时候,无法使用鸿蒙自身的hilog调试!不能查看调试相关打印信息,你说这个还能继续下去吗。辛亏最最后想到了一种间接的调试小技巧,通过函数回调OpenHarmony鸿蒙进行相关打印。  当你在一个操作系统上移植第三方库时候,由于种种原因第三方库无法直接使用操作系统的debug接口,那么真的没有办法了吗,这里

2022-07-06 17:36:24 1053 3

原创 Android怎么开发自己底层的NuPlayer音视频播放器框架

    Android怎么开发自己底层的NuPlayer播放器框架引言  远离博客好久了,因为一直在忙于新的一个领域那就是Android底层音视频播放器框架的搭建,此时此刻公寓干的差不多了(虽然其中还是有许多的不足,和需要改进的,但是万事开头难吗,还是有一种小有成就的感觉!)。本篇博客不会大书特书音视频领域的相关知识,因为它太庞大了,那我写这篇博客的目的是什么呢,主要是总结概括一下如何搭建自己的Android底层音视频播放器框架。重要的事情说三遍:1.如果多Android音视频领域不感兴趣,可以

2022-05-23 09:43:27 1818 12

原创 Android怎么prebuilt预制动态库和静态库

    Android.bp和Android.mk怎么预制so引言  关于Android相关的源码和技术分析博客,停更有蛮久的了。因为一直忙于新的工作和新知识点的学习当中!当然药不能停,错了博客不能停!正好今天偷得一会闲,也恰好有个小伙伴咨询在Android高版本上面(R Q)上面怎么进行预制已经编译好的so。当时就简单的给小伙伴答复了下,这里就简单的安排总结一下,所以没有啥矫揉造作的,直接开干就是了。重要的事情说三遍,重要的事情说三遍,重要的事情说三遍!这里的所说的预制不是简单的把so库简单拷贝

2022-04-07 10:49:17 9174 19

原创 git删除相关历史提交记录,相关文件保持当前状态

     git删除相关历史提交记录,相关文件保持当前状态引言  新年新气象,趁着现在新的一年开始项目的事情还不是非常繁忙的时候,多整点下酒菜。这不实战类型的博客记录又开始了!当然实战类型的博客,肯定是有相关的实际需求才会诞生的,这里我们来简单复盘一下实际需求的诞生和由来!场景一:原来我们有一个私有的仓库不对外开放,当开发到一定程度的时候,希望对外开放,在准备开发前当然得检查一番不是,但是在检查的时候,我们误提交了某些隐私文件(肯定不是朋友们想的那种隐私了啊,莫多想。这里的隐私可能牵涉到密码啊,

2022-02-08 17:12:26 1902 1

原创 Android HIDL模型下HAL Service添加SELinux规则实战

Android HIDL模型下HAL Service添加SELinux相关规则实战

2022-02-07 17:19:29 6801 5

原创 Ubuntu git服务器搭建指南

         Ubuntu git服务器搭建指南引言  关于Android相关的源码分析博客,停更有蛮久的了。因为一直忙于新的工作和新知识点的学习当中!当然药不能停,错了博客不能停!正好在最近的工作中,需要自己从头开始搭建自己的git服务器供团队使用(不要问我,为啥这个技能一直没有学会,因为以前有专门的小组或者说人员来干这个事情,现在是一穷二白必须自己亲自下场干!)。通过本篇博客,我们将学会如何搭建自己的Git服务器(可以作为共有,或者私有仓库使用,这个就看自己的需求了).那么搭建我们的gi

2021-11-22 11:49:17 1406 5

原创 repo sync repo reset: error: entry ‘comand.py ‘ not uptodate . cannot merge

 repo reset: error: entry 'comand.py ’ not uptodate . cannot merge引言  又有好久没有写点偏重实战类型的博客了,最近一直都在捣鼓源码分析和项目相关事情,是时候来点偏重实战类型的博客了。捯饬点啥实战的呢,这不吃着火锅,唱着歌,正准备下载下AOSP的源码来玩一玩,可是当我切换到一台新的服务器上第一次正准备repo sync下载AOSP源码的时候,怎么也不成功,一直提示如下错误:Fetching: 100% (784/784), done

2021-11-15 14:22:00 5511 3

原创 Android dump渲染和合成图层GraphicBuffer指南

      Android dump渲染和合成图层GraphicBuffer指南引言  博客停更很久了,提起笔来渐感生疏啊!看来,还是得抽出时间来更新更新啊!好了,感慨也发完了,是时候切入正题了。本篇博客将主要详细介绍如何dump Android渲染和合成图层GraphicBuffer,并通过YUV软件查看流程!通过本篇博客,读者将会至少学会如下两点:通过dump Android渲染图层GraphicBuffer,查看Android渲染结果是否正确通过dump Android合成图层Graph

2021-11-08 18:47:01 6870 31

原创 构建Android AOSP内核

        构建Android通用内核引言  本文档将主要详细介绍为 Android 设备构建自定义内核的流程。在该文档中我们将学会选择正确的源代码,构建内核,以及将结果嵌入到根据 Android 开源项目 (AOSP) 构建的系统映像中。当然我们也可以使用 Repo 获取更多最新的内核源代码,并通过在源代码检出的根目录下运行 build/build.sh 来构建这些内核源代码,而无需更多配置。由于我们这里主要说明的是通用内核,所以通过根目录下的build/build.sh来构建内核是不行的

2021-07-08 11:13:05 3338 10

原创 Android Q userdebug模式framework层调试指南

    Android Q userdebug模式framework层调试指南引言  随着Android版本的迭代,原来先前的一些调试方法都发生了相应的变化譬如我们常见的framework层的调试,这里我们简单的来说明一下Android Q版本userdebug如何调试framework层!注意这里的Android版本为Q(10),且模式为userdebug!这点需要注意。一.快速调试service.jar  由于这是实战性的东西,没有啥好过多语言性描述的!直接上步骤:1.构建好编

2021-06-29 18:44:21 2251 10

原创 PackageManagerService启动详解(八)之扫描data分区应用安装目录阶段流程分析

PKMS启动详解(八)之BOOT_PROGRESS_PMS_DATA_SCAN_START阶段流程分析Android PackageManagerService系列博客目录:PKMS启动详解系列博客概要PKMS启动详解(一)之整体流程分析PKMS启动详解(二)之怎么通过packages.xml对已安装应用信息进行持久化管理?PKMS启动详解(三)之BOOT_PROGRESS_PMS_START流程分析PKMS启动详解(四)之Android包信息体和包解析器(上)PKMS启动详解(五)之An

2021-03-26 16:59:37 7373 11

原创 PackageManagerService启动详解(七)之扫描系统应用安装目录阶段流程分析

PKMS启动详解(七)之BOOT_PROGRESS_PMS_SYSTEM_SCAN_START阶段流程分析Android PackageManagerService系列博客目录:PKMS启动详解系列博客概要PKMS启动详解(一)之整体流程分析PKMS启动详解(二)之怎么通过packages.xml对已安装应用信息进行持久化管理?PKMS启动详解(三)之BOOT_PROGRESS_PMS_START流程分析PKMS启动详解(四)之Android包信息体和包解析器(上)PKMS启动详解(五)之

2021-03-23 17:13:42 2857 6

原创 PackageManagerService启动详解(六)之Android包信息体和解析器(下)

    PKMS启动详解(流)之Android包信息体和包解析器(下)引言  通过前面不懈的努力,终于Android包信息体和包解析器要到完结篇了,此处的我们值得掌声(鲜花就算了,我们coder还是很实在的)!在前面的博客PKMS启动详解(五)之Android包信息体和包解析器(中)我们从Android包管理机制的设计者角度出发,着重分析了:Android包管理机制中的Android包解析器的PackageParser成员信息(主要是用于解析Android包的各种配件信息,不是配件信息不是配牛)

2021-03-17 11:39:53 4426 22

原创 PackageManagerService启动详解(五)之Android包信息体和解析器(中)

    PKMS启动详解(五)之Android包信息体和包解析器(中)Android PackageManagerService系列博客目录:PKMS启动详解系列博客概要PKMS启动详解(一)之整体流程分析PKMS启动详解(二)之怎么通过packages.xml对已安装应用信息进行持久化管理?PKMS启动详解(三)之BOOT_PROGRESS_PMS_START流程分析PKMS启动详解(四)之Android包信息体和包解析器(上)引言  ...

2021-03-13 14:29:23 2807 21

原创 Android 11(R)快速开发调试framework和services

    Android 11(R)快速开发调试framework和servicesAndroid源码编译系列博客:Android.bp你真的了解吗Android.bp入门指南之Android.mk转换成Android.bpAndroid.bp入门指南之浅析Android.bp语法Android.bp正确姿势添加宏控制编译指南Android高版本P/Q/R源码编译指南如何在线查看Android源码自带学习文档docs引言  在前面的博客Android高版本P/Q/R源码编译指南中,从

2021-03-12 17:03:12 5216 30

原创 PackageManagerService启动详解(四)之Android包信息体和解析器(上)

PKMS启动详解(四)之如何通过PackageParser对Android安装包进行管理Android PackageManagerService系列博客目录:PKMS启动详解系列博客概要PKMS启动详解(一)之整体流程分析PKMS启动详解(二)之怎么通过packages.xml对已安装应用信息进行持久化管理?PKMS启动详解(三)之BOOT_PROGRESS_PMS_START流程分析...

2021-03-06 16:22:02 3866 17

原创 解决Android logcat: Unexpected EOF!方法指南

logcat: Unexpected EOF!This means that either the device shut down, logd crashed, or this instance of logcat was unable to read logmessages as quickly as they were being produced.If you have enabled significant logging, look into using the -G option t

2021-03-05 14:24:35 24881 13

原创 PackageManagerService启动详解(三)之开始初始化阶段流程分析

  PKMS启动详解(三)之BOOT_PROGRESS_PMS_START流程分析Android PackageManagerService系列博客目录:PackageManagerService启动详解系列博客概要PackageManagerService启动详解(一)之整体流程分析PackageManagerService启动详解(二)之对已安装应用怎么进行持久化存储管理?引言  在前面的博客PackageManagerService启动详解(二)之对已安装应用怎么进行持久化存储管

2021-02-07 17:04:14 3920 14

原创 PackageManagerService启动详解(二)之怎么通过packages.xml对已安装应用信息进行持久化管理?

PackageManagerService启动详解(二)之对已安装应用怎么进行持久化存储管理?Android PackageManagerService系列博客目录:PackageManagerService启动详解系列博客概要PackageManagerService启动详解(一)之整体流程分析引言  在前面的博客PackageManagerService启动详解(一)之整体流程分析中我们概述了PKMS启动的整体流程,按照正常的逻辑本篇博客将要对PKMS启动的第一阶段BOOT_PROG

2021-02-01 15:46:00 2506 15

原创 PackageManagerService启动详解(一)之整体流程分析

终于要拉开PKMS启动详解系列博客的序幕了,当然读者最好能先阅读一下PackageManagerService启动详解系列博客概要对我们的整个系列博客有一个整体的了解。在今天的博客中我们将会从整体上来介绍PKMS的启动流程,所以我们只会重点关注PKMS的整个启动流程,让读者先从整体上有一个认识。至于在源码分析中注释的代码内容,读者可以先有一个概括,在后续的博客中我们会采取庖丁解牛的方式逐一分析。

2021-01-28 10:42:10 5927 20

原创 PackageManagerService启动详解系列博客概要

     PackageManagerService启动详解系列博客概要引言  一直在筹划着写一个系列的博客关于PKMS服务启动流程详解的(在本篇以及后续的一系列博客中为了简述统一将PackageManagerService简写为PKMS),但是一直自我感觉功力不够,不是因为本人不够自信,真的是事出有因啊!PKMS的启动涉及到非常多的逻辑,其启动流程是比较复杂的!这里的启动流程复杂并不是说它涉及的原理有多么多么的深奥或者晦涩,而是PKMS作为Android系统中核心服务之一,它管理着所有跟Packag

2021-01-25 20:01:33 2695 10

ChkBugReport工具.rar

最新版本的ChkBugReport工具,这个对于分析bugreport 非常有帮助。

2019-10-26

ANR各种日志.rar

ANR各种日志.rar

2019-10-26

这个资源错误

Android各种ANR日志汇总,希望对解决各种ANR有帮助。非常全。

2019-10-26

Binder实战大荟萃源码.rar

这个是Binder实战大荟萃的全部源码,包括Binder实战开发中的四种场景。对于想掌握Binder的小伙伴来说一定是个好东西。

2019-10-25

binderclient.rar

Native层通过C++使用Java系统Binder服务,希望对加深Binder有一定作用

2019-10-22

BinderApiFun.rar

这是一个手动编写Java层Binder系统服务的实例,对理解Binder和更加得深入了解aidl文件转化有一定帮助

2019-10-22

Android studio系统签名工具包.rar

Android Studio系统签名的工具包,其中包括相关的脚本和使用方法。

2019-09-03

平台化实现的脚本编写.rar

这个是一种为Android系统添加自定义目录的一个脚本,对平台化有一定作用。

2019-08-21

内存过高导致lowmemkill日志.zip

Android内存过高导致lowmemkill日志和相关工具,希望对Android开发者有帮助。

2019-07-31

LeakCanary.rar

系统源码集成LeakCanary依赖包,这个是已经编译ok并且可以使用的。

2019-07-31

binder.zip

binder源代码,为了回家学习方便使用。这个不建议大家下载,仅仅是个人学习。

2019-06-15

打印完税证明教程

这个是我个人使用,勿下载浪费积分。切勿下载,谢谢谢谢。

2019-04-16

Android不同版本SELinux的介绍

该资源是Google官方编写的关于Android 8中SeLinux的文档,然后还附加了一篇关于android 8的Selinux的work文档

2019-01-01

CarDVR jni使用实例

这是一个jni使用实例,对想学习jni开发的同学有一定的帮助。希望有用。

2018-11-13

CarDVR源码

这是CarDVR,对打通java和native开发有帮助。希望对大家的开发有帮助。

2018-04-11

native直接使用Parcel通信

这个是native服务直接使用Parcel进行通信的一个接口,提供给后面使用。

2017-03-14

binder通信实例

这是一个底层的binder通信列子希望对大家有用

2016-09-01

jni学习资源

我自己的资源请勿下载

2016-08-29

Android直接通过binder节点通信

这是Android直接通过binder通信的列子

2016-08-25

shell脚本学习

shell脚本学习

2016-08-24

hidl service selinux rule

Android HIDL模型下HAL Service添加SELinux规则所有相关改动

2022-02-07

settings.html

systrace文件

2021-10-14

OTA升级客户指导.docx

OTA升级文档

2021-06-25

2018-01-04_edrawmax-cn.7z

画图工具,画图工具,画图工具

2021-03-08

Android源码编译参考文档.zip

Android源码编译参考文档,主要适合于从事Android系统开发或者Framework开发的朋友!

2021-01-05

Android Build System.pdf

Android 编译文档

2020-12-29

80_PJ360_14_C_ANDROID_Q_MIGRATION_GUIDE.pdf

Android Q编译文档

2020-12-25

谷歌自带文档查看工具.7z

Google App Engine 是一种让您可以在 Google 的基础架构上运行您的网络应用程序。Google App Engine 应用程序易于构建和维护,并可根据您的访问量和数据存储需要的增长轻松扩展。使用 Google App Engine,将不再需要维护服务器:您只需上传您的应用程序,它便可立即为您的用户提供服务。

2020-12-23

framework_intermediates.zip

framework_intermediates.zip

2020-08-29

adb源码分析源码

adb源码分析源码

2020-07-30

AsyncChannelFun.zip

这个是Android AsyncChannel的演示实例,包括使用案例,如果对其感兴趣可以移步https://blog.csdn.net/tkwxty/article/details/107426006,其中有对该方法使用和源码的具体详解。

2020-07-22

AsyncChannelFun.zip

这是Android中关于AsyncChanne的实操演练代码,将其中涉及的几种关于集中通信模型都有涉及到了,希望能对各位有所帮助!

2020-07-18

android重点知识梳理.txt

这是我自己测试的文档,各位不要下载,谢谢!

2020-07-15

Settings_Framework_ethernet_patch.zip

这是全网独家Android P以太网适配完整patch包,包括Settings 和Framework的支持以太网打开和关闭,以及设置静态IP和代理功能。你值得拥有。

2020-04-24

JNI_NDK_GUIDE.zip

本篇是和章节https://blog.csdn.net/tkwxty/article/details/103971798相匹配的演示代码,通过该代码能更加清晰的理清脉络,达到事半功倍的效果。你值得拥有。

2020-01-19

Android下memtester执行文件

Android下能正常使用的memtester测试文件,可以模拟内存紧张时候的场景。希望对大家测试有帮助!

2020-01-03

JNI动态注册和静态注册演示.zip

这是一个演示JNI中动态注册和静态注册的实例demo,主要为了配合博客使用。有一定的参考意义。希望对于新学者有帮助,那我就很高兴了。

2019-12-18

C_Java_Transfer.zip

通过JNI实现CC++中结构体和Java类之间的数据转换,该代码列举了两种常见的方法,学会了这两种方法,妈妈再也不要为我担心了。

2019-12-11

ddms_traceView.zip

这是一个通过DDMS分析Android的CPU占用过高生成的TraceView文件,希望对使用TraceView有帮助。

2019-12-11

Android2Native.rar

这里总结了,Android和C/C++通信的常用方法,有Jni,有Socket,有Binder,总有一种会是适合你的。

2019-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除