Android包管理机制(五)APK是如何被解析的

相关文章
包管理机制系列

前言

在本系列的前面文章中,我介绍了PackageInstaller的初始化和安装APK过程、PMS处理APK的安装和PMS的创建过程,这些文章中经常会涉及到一个类,那就是PackageParser,它用来在APK的安装过程中解析APK,那么APK是如何被解析的呢?这篇文章会给你答案。

查看更多

分享到 评论

Android进阶二部曲第二部《Android进阶解密》已出版

Android进阶二部曲第一部《Android进阶之光》介绍 :点击这里
本书源码地址:https://github.com/henrymorgen/android-advanced-decode

查看更多

分享到 评论

Android Gradle(三)Groovy快速入门指南

相关文章
Android Gradle系列

前言

在前面我们学习了为什么现在要用Gradle?Gradle入门前奏两篇文章,对Gradle也有了大概的了解,这篇文章我们接着来学习Groovy的基础,要想学好Gradle,Groovy是必须要掌握的。Groovy仅凭一篇文章是介绍不完的,这里会带大家快速的入门Groovy,讲解Groovy和Java不同的部分,想要更多了解Groovy可以查看Groovy官方文档Groovy API文档

查看更多

分享到 评论

Android Gradle(二)Gradle入门前奏

前言

在上一篇文章Android Gradle(一)为什么现在要用Gradle?中,我们学习了常见的构建工具,以及Gradle与这些构建工具相比有那些不同的特性。这一篇文章我们接着来学习Gradle入门需要掌握的知识,包括配置环境、实现Hello World、Gradle的任务、Gradle日志和Gradle命令行,掌握这些能够更好的理解Gradle。

查看更多

分享到 评论

8月25日技术大会演讲感想

前言

为了准备参加这次大会,我公号停更了一周,现在利用晚上时间来简单谈谈我参加这次技术大会的几点感想。

查看更多

分享到 评论

Android Gradle(一)为什么现在要用Gradle?

前言

又要开启一个新系列了,这个系列我们来学习Gradle,它是一个基于JVM的新一代构建工具,关于Gradle完全可以写一本书,这个系列会针对Android开发来对Gradle的知识进行精简讲解。Gradle目前已经应用于多个Android开发的技术体系中,比如构建系统、插件化、热修复和组件化等等,如果你不了解Gradle,那么你对于上述技术体系的了解会大打折扣。为了让大家能够更好的学习Gradle,这篇文章不会介绍Gradle具体的技术细节,而是先介绍为什么现在要用Gradle?

查看更多

分享到 评论

Android包管理机制(四)PMS的创建过程

相关文章
Android包管理机制系列

前言

PMS的创建过程分为两个部分进行讲解,分别是SyetemServer处理部分和PMS构造方法。其中SyetemServer处理部分和AMS和WMS的创建过程是类似的,可以将它们进行对比,这样可以更好的理解和记忆这一知识点。

查看更多

分享到 评论

Android包管理机制(三)PMS处理APK的安装

相关文章
Android包管理机制系列

前言

在上一篇文章Android包管理机制(二)PackageInstaller安装APK中,我们学习了PackageInstaller是如何安装APK的,最后会将APK的信息交由PMS处理。那么PMS是如何处理的呢?这篇文章会给你答案。

查看更多

分享到 评论

Android领域的巴萨队诚召队友

不知不觉我的知识星球已经开了2个月了,目前发展的很不错:星球成员330+人,主题250+,问答130+,精华20+,可以看出这是一个非常活跃的星球。不论你是否想要加入我们,我都建议你阅读下本文。

查看更多

分享到

Android包管理机制(二)PackageInstaller安装APK

前言

在本系列上一篇文章Android包管理机制(一)PackageInstaller的初始化中我们学习了PackageInstaller是如何初始化的,这一篇文章我们接着学习PackageInstaller是如何安装APK的。本系列文章的源码基于Android8.0。

查看更多

分享到 评论

程序员如果也能像C罗一样自律和勤奋,必将成为大神

首先我是一个真球迷,巴萨的球迷,最爱梅西。因此我也和大部分巴萨球迷一样讨厌C罗,尤其是他笑的时候感觉有些猥琐,但是经过昨天世界杯的比赛,我对C罗的认识有了改观。

查看更多

分享到 评论

Android包管理机制(一)PackageInstaller的初始化

前言

包管理机制是Android中的重要机制,是应用开发和系统开发需要掌握的知识点之一。
包指的是Apk、jar和so文件等等,它们被加载到Android内存中,由一个包转变成可执行的代码,这就需要一个机制来进行包的加载、解析、管理等操作,这就是包管理机制。包管理机制由许多类一起组成,其中核心为PackageManagerService(PMS),它负责对包进行管理,如果直接讲PMS会比较难以理解,因此我们需要一个切入点,这个切入点就是常见的APK的安装。
讲到APK的安装之前,先了解下PackageManager、APK文件结构和安装方式。

查看更多

分享到 评论

Android插件化原理(一)Activity插件化

相关文章

Android深入四大组件系列
Android解析AMS系列
Android解析ClassLoader系列

前言

四大组件的插件化是插件化技术的核心知识点,而Activity插件化更是重中之重,Activity插件化主要有三种实现方式,分别是反射实现、接口实现和Hook技术实现。反射实现会对性能有所影响,主流的插件化框架没有采用此方式,关于接口实现可以阅读dynamic-load-apk的源码,这里不做介绍,目前Hook技术实现是主流,因此本篇文章主要介绍Hook技术实现。
Hook技术实现主要有两种解决方案 ,一种是通过Hook IActivityManager来实现,另一种是Hook Instrumentation实现。在讲到这两个解决方案前,我们需要从整体上了解Activity的启动流程。

查看更多

分享到 评论

《Android进阶解密》内容简介

《Android进阶解密》预计会在9月出版。本书基于Android8.0,理念和《Android开发艺术探索》相近,是将源码和应用开发相结合并融会贯通。本书共分为17章从三个方面来组织内容。

查看更多

分享到 评论

我是如何写出一本畅销技术书的

如何写技术文章已经有很多人写过了,这里我来讲一下如何写一本畅销书,以及成为畅销书作者后发生的事。

查看更多

分享到 评论

Android热修复原理(一)热修复框架对比和代码修复

相关文章
解析ClassLoader系列

前言

在Android应用开发中,热修复技术被越来越多的开发者所使用,也出现了很多热修复框架,比如:AndFix、Tinker、Dexposed和Nuwa等等。如果只是会这些热修复框架的使用那意义并不大,我们还需要了解它们的原理,这样不管热修复框架如何变化,只要基本原理不变,我们就可以很快的掌握它们。这一个系列不会对某些热修复框架源码进行解析,而是讲解热修复框架的通用原理。

查看更多

分享到 评论