当前位置:首页 > 移动开发 >
《Android插件化开发指南》电子书封面

Android插件化开发指南

  • 发布时间:2020年01月20日 09:33:34
  • 作者:包建强
  • 大小:181.1 MB
  • 类别:Android开发电子书
  • 格式:PDF
  • 版本:完整版
  • 评分:7.2

    Android插件化开发指南 PDF 完整版

      给大家带来的一篇关于Android开发相关的电子书资源,介绍了关于Android插件、Android开发方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小181.1 MB,包建强编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.7。

      内容介绍

      Android插件化开发指南

      Android插件化开发指南

      内容介绍

      Android插件化技术广泛应用在移动开发中,通过插件化技术,AndroidApp可以不通过发布新版本而修复线上的bug或者推出新功能,这对于日活千万的App而言是非常重要的,可极大程度提升App开发效率和质量。本书详细介绍了插件化技术的原理、各种方案,及其在AndroidApp中的使用。在介绍插件化技术的同时,还详细介绍了Android底层知识,能帮助AndroidApp开发人员更好地掌握Android的开发技术。本书共22章,先介绍Android插件化技术的历史和现状,系统介绍了Android的底层知识以及反射、代理等技术;然后介绍插件化技术的基本知识,包括各类插件化解决方案及其对比;之后分析了一些插件化框架,如that、Zeus等,深入分析了资源及其在插件化中的应用,以及混淆、增量更新等周边技术的插件化解决方案。

      目录

      • 第一部分 预备知识
      • 第1章 插件化技术的昨天、今天与明天2
      • 1.1 插件化技术是什么2
      • 1.2 为什么需要插件化3
      • 1.3 插件化技术的历史3
      • 1.4 插件化技术的用途到底是什么8
      • 1.5 更好的替代品:React Native8
      • 1.6 只有中国这么玩吗9
      • 1.7 四大组件都需要插件化技术吗10
      • 1.8 双开和虚拟机10
      • 1.9 从原生页面到HTML 5的过渡11
      • 1.10 本章小结12
      • 第2章 Android底层知识13
      • 2.1 概述13
      • 2.2 Binder原理14
      • 2.3 AIDL原理16
      • 2.4 AMS20
      • 2.5 Activity工作原理21
      • 2.5.1 App是怎么启动的21
      • 2.5.2 启动App并非那么简单21
      • 2.6 App内部的页面跳转32
      • 2.7 Context家族史34
      • 2.8 Service工作原理36
      • 2.8.1 在新进程启动Service36
      • 2.8.2 启动同一进程的Service39
      • 2.8.3 在同一进程绑定Service39
      • 2.9 BroadcastReceiver工作原理41
      • 2.9.1 注册过程43
      • 2.9.2 发送广播的流程44
      • 2.9.3 广播的种类45
      • 2.10 ContentProvider工作原理46
      • 2.10.1 ContentProvider的本质49
      • 2.10.2 匿名共享内存(ASM)49
      • 2.10.3 ContentProvider与AMS的通信流程50
      • 2.11 PMS及App安装过程52
      • 2.11.1 PMS简介52
      • 2.11.2 App的安装流程52
      • 2.11.3 PackageParser53
      • 2.11.4 ActivityThread与PackageManager54
      • 2.12 ClassLoader家族史55
      • 2.13 双亲委托57
      • 2.14 MultiDex57
      • 2.15 实现一个音乐播放器App59
      • 2.15.1 基于两个Receiver的音乐播放器59
      • 2.15.2 基于一个Receiver的音乐播放器63
      • 2.16 本章小结68
      • 第3章 反射70
      • 3.1 基本反射技术70
      • 3.1.1 根据一个字符串得到一个类70
      • 3.1.2 获取类的成员71
      • 3.1.3 对泛型类的反射75
      • 3.2 jOOR77
      • 3.2.1 根据一个字符串得到一个类78
      • 3.2.2 获取类的成员78
      • 3.2.3 对泛型类的反射79
      • 3.3 对基本反射语法的封装80
      • 3.3.1 反射出一个构造函数81
      • 3.3.2 调用实例方法81
      • 3.3.3 调用静态方法82
      • 3.3.4 获取并设置一个字段的值82
      • 3.3.5 对泛型类的处理83
      • 3.4 对反射的进一步封装84
      • 3.5 本章小结88
      • 第4章 代理模式89
      • 4.1 概述89
      • 4.1.1 远程代理(AIDL)90
      • 4.1.2 保护代理(权限控制)92
      • 4.1.3 虚代理(图片占位)92
      • 4.1.4 协作开发(Mock Class)92
      • 4.1.5 给生活加点料(记日志)93
      • 4.2 静态代理和动态代理94
      • 4.3 对AMN的Hook95
      • 4.4 对PMS的Hook97
      • 4.5 本章小结98
      • 第5章 对startActivity方法进行Hook99
      • 5.1 startActivity方法的两种形式99
      • 5.2 对Activity的startActivity方法进行Hook100
      • 5.2.1 方案1:重写Activity的startActivityForResult方法102
      • 5.2.2 方案2:对Activity的mInstrumentation字段进行Hook102
      • 5.2.3 方案3:对AMN的getDefault方法进行Hook104
      • 5.2.4 方案4:对H类的mCallback字段进行Hook107
      • 5.2.5 方案5:再次对Instrumentation字段进行Hook109
      • 5.3 对Context的startActivity方法进行Hook111
      • 5.3.1 方案6:对ActivityThread的mInstrumentation字段进行Hook111
      • 5.3.2 对AMN的getDafault方法进行Hook是一劳永逸的113
      • 5.4 启动没有在AndroidManifest中声明的Activity113
      • 5.4.1 “欺骗AMS”的策略分析114
      • 5.4.2 Hook的上半场115
      • 5.4.3 Hook的下半场:对H类的mCallback字段进行Hook118
      • 5.4.4 Hook的下半场:对ActivityThread的mInstrumentation字段进行Hook119
      • 5.4.5 “欺骗AMS”的弊端121
      • 5.5 本章小结121
      • 第二部分 解决方案
      • 第6章 插件化技术基础知识124
      • 6.1 加载外部的dex124
      • 6.2 面向接口编程126
      • 6.3 插件的瘦身129
      • 6.4 对插件进行代码调试131
      • 6.5 Application的插件化解决方案133
      • 6.6 本章小结134
      • 第7章 资源初探135
      • 7.1 资源加载机制135
      • 7.1.1 资源分类135
      • 7.1.2 剪不断理还乱:Resources和AssetManager136
      • 7.2 资源的插件化解决方案137
      • 7.3 换肤141
      • 7.4 殊途同归:另一种换肤方式149
      • 7.5 本章小结149
      • 第8章 最简单的插件化解决方案150
      • 8.1 在AndroidManifest中声明插件中的组件150
      • 8.2 宿主App加载插件中的类151
      • 8.3 启动插件Service152
      • 8.4 加载插件中的资源152
      • 8.5 本章小结154
      • 第9章 Activity的插件化解决方案155
      • 9.1 启动没有在AndroidManifest中声明的插件Activity155
      • 9.2 基于动态替换的Activity插件化解决方案159
      • 9.2.1 Android启动Activity的原理分析159
      • 9.2.2 故意命中缓存160
      • 9.2.3 加载插件中类的方案1:为每个插件创建一个ClassLoader164
      • 9.2.4 为了圆一个谎言而编造更多的谎言164
      • 9.3 加载插件中类的方案2:合并多个dex166
      • 9.4 为Activity解决资源问题169
      • 9.5 对LaunchMode的支持169
      • 9.6 加载插件中类的方案3:修改App原生的ClassLoader172
      • 9.7 本章小结174
      • 第10章 Service的插件化解决方案175
      • 10.1 Android界的荀彧和荀攸:Service和Activity175
      • 10.2 预先占位176
      • 10.3 startService的解决方案178
      • 10.4 bindService的解决方案183
      • 10.5 本章小结185
      • 第11章 BroadcastReceiver的插件化解决方案186

      学习笔记

      Android token过期刷新处理的方法示例

      token token的意思是“令牌”,是用户身份的验证方式,最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,由token的前几位+盐以哈希算法压缩成一定长的十六进制字符串,可以防止恶意第三方拼接token请求服务器)。还可以把不变的参数也放进token,避免多次查库。 第一种方案 通过okhttp提供的Authenticator接口,但是只有HTTP返回码为401时才会触发。此种方式局限性很大,要求后台设计必须符合规范。在实际项目中不可能完美实现。此种方式不做详解,百度很多。 第二种方案 根据和后端协商好的返回码处理刷新token步骤。代码如下; public class TokenInterceptor implements Interceptor { @Over……

      Android Studio中ButterKnife插件的安装与使用详解

      1》Android Studio 安装ButterKnife插件 同安装其他插件类似,如下: 1.1》打开Plugins界面 按照上图中1,2,3指示操作(注意:这里我的Android Studio中已经安装了该插件,所以显示的内容不太一样)。然后重启Android Studio。 2》在项目上使用该开源项目(以Android Studio 为例) 2.1》在bulid.gradle中添加依赖 重新编译一下该项目,通过后继续操作。 2.2》在代码中就可以使用注解的方式了 2.2.1》示例布局文件如下: LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_mar……

      Eclipse运行android项目报错Unable to build: the file dx.jar was not loaded from the SDK folder的解决办法

      由于最近通过 SDK-Manager 更新了 build-tools ,当要用到 dx.jar 这个包时,自动调用最新 build-tools 中 dx.jar ,但是运行 Android 项目时 Console 却提示: Failed to load C:\Program Files (x86)\android\android-sdk\build-tools\26.0.0-preview\lib\dx.jar Unable to build: the file dx.jar was not loaded from the SDK folder 解决步骤: (1)找到你 Android 的 SDK 安装目录C:\Program Files (x86)\Android\android-sdk,进入 build-tools 文件夹 (2)发现还有很多其他版本的 build-tools ,而且版本都是顺序排列的,我们就任意选择一个(只要不是最新版的就行),打开进入 lib 文件夹 (3)发现里面有 dx.jar 包,复制粘贴到最新版 build-tools 存放 dx.jar 包的目录下,替换掉原来的 dx.j……

      详解将Eclipse代码导入到AndroidStudio的两种方式

      说到使用AndroidStudio,除了新建的项目,我们都会面临的问题是原先Eclipse的代码该怎么导入到AndroidStudio中使用。 这方面相关的资料还比较少,自己摸索了一下,总结出这篇博客,希望能让开发者少走些弯路。 OK,进入正题。 Google为了让我们更加方便的使用AndroidStudio,提供了两种导入Eclipse代码的方式:一种兼容Eclipse,一种是全新的Android Gradle Project. 这里,我们先从兼容模式说起。 兼容模式 这种模式下,保证了Eclipse时代的代码目录结构,整体操作和使用和Eclipse也差不多。 最重要的,当你使用AndroidStudio时,你或者其他人也可以方便的使用Eclipse,互不干扰。 实现步骤 1. 从Eclipse中导出Gradle build files 在……

      以上就是本次介绍的Android开发电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:R数据科学

      下一篇:Python深度学习

      展开 +

      收起 -

      下载地址:百度网盘下载
      Android开发相关电子书
      Android系统源代码情景分析
      Android系统源代码情景分析 超清第3版

      本书结合使用情景,全面、深入、细致地分析了Android系统的源代码,涉及Linux内核层、硬件抽象层、运行时库层、应用程序框架层及应用程序层

      立即下载
      Kotlin从零到精通Android开发
      Kotlin从零到精通Android开发 高清完整版

      是一部讲解Kotlin语言的入门书籍,从Kotlin语言的基本语法一直讲到如何将其运用于Android开发,本书从基本语法,到应用开发、电商App开发实录,尽现Kotlin魅力

      立即下载
      Android组件化架构
      Android组件化架构 清晰扫描版

      本书首先介绍Android组件化开发的基础知识,剖析组件化的开发步骤和常见问题,探究组件化编译原理和编译优化措施。其次在项目架构上,介绍如何组织团队来使用组件化开发,并将业务和人

      立即下载
      Android程序设计
      Android程序设计 原版影印版

      本书适合不同背景的 Android编程人员。如果你一直在用Objective-C为iPhone或Mac OS编写应用,你会发现本书中Android 工具和Java语言特性等与Android编程相关的介绍能够帮助你理解Android移动应用开发

      立即下载
      Android源码设计模式解析与实战
      Android源码设计模式解析与实战 影印第2版

      本书介绍了Android源代码的设计模式,主要讲解面向对象的六大原则、主流的设计模式以及MVC和MVP模式,通过实战帮助读者达到学以致用的目的,且能够将模式运用于项目中

      立即下载
      Android开发入门与实战
      Android开发入门与实战 扫描第2版

      学习本书可让不懂Android开发的人系统地快速掌握Android 开发的知识,包含Android开发环境搭建、Android SDK介 绍、Android应用程序结构剖析等内容,精选了6个真实的案例,欢迎下载

      立即下载
      深入解析Android虚拟机
      深入解析Android虚拟机 原版扫描版

      本书循序渐进地讲解了Android虚拟机系统的基本知识,并剖析了其整个内存系统的进程和运作流程,并对虚拟机系统优化和异常处理的知识进行了详细讲解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

      立即下载
      最强Android书:架构大剖析
      最强Android书:架构大剖析 全书影印版

      不需要源码也能彻底掌握Android技术内幕,全程实验直接指导,层层拆解!持续更新中……本书被美国中情局,国内部分手机厂商作为内部员工学习教材

      立即下载
      读者留言
      晓峰

      晓峰 提供上传

      资源
      29
      粉丝
      45
      喜欢
      67
      评论
      16

      Copyright 2018-2020 www.xz577.com 码农之家

      版权投诉 / 书籍推广 / 赞助:520161757@qq.com