自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注Android开发

淡泊以明志,宁静以致远

  • 博客(35)
  • 收藏
  • 关注

转载 Gradle for Android 第七篇( Groovy入门 )

迄今为止,我们已经学些了众多gradle构建的概念以及如何运行tasks。在这一章,我们将对这些概念有一个更深的理解,然后开始构建我们自己的tasks。一旦我们掌握了如何编写自定义tasks,那么我们就可以试着编写自己的插件,以达到在多个项目中复用的目的。在我们创建传统tasks之前,我们有必要了解些Groovy的基本语法。因为这理解Groovy如何运行会使得我们能更好的理解tasks和插

2017-02-22 19:10:49 301

转载 Gradle for Android 第六篇( 测试)

由于现阶段Android开发趋于敏捷开发,再加上国内大大小小的互联网公司都在做app,导致很多这会是一个系列,所以如果你看完这篇文章,请看下列文章:Gradle for Android 第一篇( 从 Gradle 和 AS 开始 )Gradle for Android 第二篇( Build.gradle入门 )Gradle for Android 第三篇( 依赖管理 )

2017-02-22 19:10:16 432

转载 Gradle for Android 第五篇( 多模块构建 )

Android studio不仅允许你为你的app和依赖库创建模块,同时也可为Android wear,Android TV,Google App Engine等创建模块,而这些单独的模块又可以在一个单独的项目中使用。举个栗子,在你的app开发后期阶段,你可能需要用到Google Clound或者Android Wear。这种情况下,你可以在你的工程下拥有三个模块:分别是app,google cl

2017-02-22 19:09:49 497

转载 Gradle for Android 第四篇( 构建变体 )

当你在开发一个app,通常你会有几个版本。大多数情况是你需要一个开发版本,用来测试app和弄清它的质量,然后还需要一个生产版本。这些版本通常有不同的设置,例如不同的URL地址。更可能的是你可能需要一个免费版和收费版本。基于上述情况,你需要处理不同的版本:开发免费版,开发付费版本,生产免费版,生产付费版,而针对不同的版本不同的配置,这极大增加的管理难度。Gradle for Android

2017-02-22 19:09:21 426

转载 Gradle for Android 第三篇( 依赖管理 )

依赖管理依赖管理是Gradle最闪耀的地方,最好的情景是,你仅仅只需添加一行代码在你的build文件,Gradle会自动从远程仓库为你下载相关的jar包,并且保证你能够正确使用它们。Gradle甚至可以为你做的更多,包括当你在你的工程里添加了多个相同的依赖,gradle会为你排除掉相同的jar包。在这一章我们将学习以下内容:仓库本地依赖详解依赖这一概念Gradle for

2017-02-22 19:08:47 417

转载 Gradle for Android 第二篇( Build.gradle入门 )

新年新气象,奋斗的一年,在这一章,我们将学习以下内容:理解Gradle文件编写简单的构建任务自制构建脚本Gradle for Android 第一篇( 从 Gradle 和 AS 开始 )Gradle for Android 第三篇( 依赖管理 )Gradle for Android 第四篇( 构建变体 )Gradle for Android 第五篇( 多模

2017-02-22 19:08:14 391

转载 Gradle for Android 第一篇( 从 Gradle 和 AS 开始 )

正如大家所见,这是本英文书,而由于国内的gradle翻译资料不全,所以特次开辟专栏,翻译gradle for android这本书,同时添加自己的心得体会以及在实际工作上的实战,希望大家能够喜欢。如果你是名Android开发新手,或者是名从eclipse切换到Android studio的新手,那么我强烈建议您follow我的文章,正如封面所见,利用gradle构建工具来自动构建你

2017-02-22 19:07:43 483

转载 android窗口管理剖析

一、 概述在Android系统中,从设计的角度来看,窗口管理系统是基于C/S模式的。整个窗口系统分为服务端和客户端两大部分,客户端负责请求创建窗口和使用窗口,服务端完成窗口的维护,窗口显示等。 在Client端,并不是直接和 WindowManagerService交互,而是直接和本地对象WindowManager交互,然后由WindowManager完成和 W

2017-02-17 17:03:07 594

转载 android Activity管理简析

一、Activity的生命周期Activity的管理同样是基于C/S架构的,所有的activity管理都在server端进行。在Server端对每个activity进行调度的同时,Client端负责响应各个生命周期的函数。在Client端,对activity各个生命周期的响应都是在ActivityThread里进行操作。在本地,activity的生命周期如下图

2017-02-17 16:09:51 1433

转载 深入理解Activity——Token之旅

Token是ActivityRecord的内部静态类,我们先来看下Token的继承关系,Token extends IApplicationToken.Stub,从IApplicationToken.Stub类进行继承,根据Binder的机制可以知道Token是一个匿名Binder实体类,这个匿名Binder实体会传递给其他进程,其他进程会拿到Token的代理端。    我们知道匿名Bin

2017-02-16 19:25:52 1082

转载 Android 内核--Binder架构分析

一、Binder架构  在Android中,Binder用于完成进程间通信(IPC),即把多个进程关联在一起。比如,普通应用程序可以调用音乐播放服务提供的播放、暂停、停止等功能。Binder工作在Linux层面,属于一个驱动,只是这个驱动不需要硬件,或者说其操作的硬件是基于一小段内存。从线程的角度来讲,Binder驱动代码运行在内核态,客户端程序调用Binder是通过系统调用完成的。

2017-02-16 19:20:08 271

转载 Android 内核--Context对象

Context(在Android中翻译为场景):一个Activity就是一个Context,一个Service也是一个Context,应用程序中有多少个Activity或者Service,就会有多少个Context对象; Android把"场景"抽象为Context类,用户和操作系统的每一次交互都是一个场景; 如打电话为有界面的场景,后台服务service为没界面的场景; Context类

2017-02-16 19:18:55 418

转载 Android Context简介

1. Context基本概念1.1 Context是什么?    1) Context是一个抽象类,其通用实现在ContextImpl类中。    2) Context:是一个访问application环境全局信息的接口,通过它可以访问application的资源和相关的类,其主要功能如下:        • 启动Activity        • 启动和停止S

2017-02-15 18:08:54 455

转载 [Android] 浅析总结 AS 中 Gradle 配置运行

序既然是浅析,自然也就没有深入的地方,我也写不出深入的地方,自己没有用过,也不会写出来坑人的;仅仅就是在 Android Studio 中的 Gradle 使用配置而已。GradleGradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。依赖管理支持多方式依赖管理:包括从 maven 远程仓

2017-02-10 15:56:43 595

转载 Android Studio之gradle的配置与介绍

1、gradle的简单介绍Gradle是可以用于Android开发的新一代的Build System,也是Android Studio默认的build工具。其实Gradle脚本是基于一种JVM语言— Groovy,再加上DSL组成的。由于Groovy是JVM语言,所以可以使用大部分的Java语言库。所谓DSL就是专门针对Android开发的插件,比如标准Gradle之外的一些新的方法(

2017-02-10 15:55:32 533

转载 Android Studio入门到精通

PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN。因为CSDN也支持MarkDown语法了,牛逼啊!目标:Android Studio新手–>下载安装配置–>零基础入门–>基本使用–>调试技能–>构建项目基础–>使用AS应对常规应用开发AS简介经过2年时间的研发,Google终于正式发布了面向Android开发者的集成开发环境Andr

2017-02-10 15:05:37 655

转载 Android Studio教程从入门到精通2.0

Android Studio2.0 教程从入门到精通MAC版 - 安装篇Android Studio2.0 教程从入门到精通MAC版 - 入门篇Android Studio2.0 教程从入门到精通MAC版 - 提高篇

2017-02-10 14:55:32 1052

转载 Tinker 热修复框架 简单上手教程

导言前不久,腾讯推出了”微信小程序”这一概念,对移动原生应用的影响可谓巨大.而几乎就在同时,腾讯在GitHub上开源了第一个项目Tinker,这是一个Android平台的应用热修复框架.可以在不重新安装应用的情况下,对应用的代码/库/资源进行更新.相关信息官方也已经给出详细介绍.得到这个消息时,笔者也尝试学习它给的Sample,希望能够使用到自己的项目中去.毕竟热修补是

2017-02-10 14:23:14 565

转载 Android热更新开源项目Tinker集成实践总结

前言最近项目集成了Tinker,开始认为集成会比较简单,但是在实际操作的过程中还是遇到了一些问题,本文就会介绍在集成过程大家基本会遇到的主要问题。 考虑一:后台的选取目前后台功能可以通过三种方式实现:1、自己搭建后台布丁下发系统2、第三方提供的服务,目前如原微信simsun大神的个人tinkerpatch平台,目前出于内测阶段,暂时免费。后期应该会按下发

2017-02-10 14:22:14 508

转载 Android热更新开源项目Tinker源码解析系列之三:so热更新

本系列将从以下三个方面对Tinker进行源码解析:Android热更新开源项目Tinker源码解析系列之一:Dex热更新Android热更新开源项目Tinker源码解析系列之二:资源文件热更新Android热更新开源项目Tinker源码解析系类之三:so文件热更新 转载请标明本文来源:http://www.cnblogs.com/yyangblog/p/625285

2017-02-10 14:21:35 760

转载 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新

上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程。同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载。 本系列将从以下三个方面对Tinker进行源码解析:Android热更新开源项目Tinker源码解析系列之一:Dex热更新Android热更新开源项目Tinker源码解析系列之二:资源热更

2017-02-10 14:20:57 1272

转载 Android热更新开源项目Tinker源码解析系列之一:Dex热更新

Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代。Tinker github地址:https://github.com/Tencent/tinker首先向微信致敬,感谢毫无保留的开源出了这么一款优秀的热更新项目。因Tinker支持Dex,资源文件及so文件的热更新,本系列将从以下三个方面对Tinker进行源码解析:Android

2017-02-10 14:20:18 1338

转载 Tinker接入及源码分析(三)

该系列文章分析基于 Tinker1.7.6 版本Tinker项目地址:https://github.com/Tencent/tinkerTinker接入及源码分析(一):简单介绍以及如何接入Tinker接入及源码分析(二):加载补丁源码分析Tinker接入及源码分析(三):合成补丁源码分析上篇文章分析了加载补丁的源码,本篇文章会继续分析tinker初始化过程

2017-02-10 14:19:13 768

转载 Tinker接入及源码分析(二)

该系列文章分析基于 Tinker1.7.6 版本Tinker项目地址:https://github.com/Tencent/tinkerTinker接入及源码分析(一):简单介绍以及如何接入Tinker接入及源码分析(二):加载补丁源码分析Tinker接入及源码分析(三):合成补丁源码分析上篇文章简单的介绍了Tinker的使用:《Tinker接入及源码分析(

2017-02-10 14:18:31 398

转载 Tinker接入及源码分析(一)

转自:http://qlm.pw/2017/01/07/tinker接入及源码分析(一)/该系列文章分析基于 Tinker1.7.6 版本Tinker项目地址:https://github.com/Tencent/tinkerTinker接入及源码分析(一):简单介绍以及如何接入Tinker接入及源码分析(二):加载补丁源码分析Tinker接入及源码分析(三

2017-02-10 14:17:44 571

转载 tinker源码研读(一):补丁生成之DexDiff原理简析

前言微信的热修复框架Tinker已经在国庆节之前开源了,成为了http://github.com/Tecent下第一个项目,刷爆了各位开发者的朋友圈。作为一个超级APP的HotFix库,Tinker不仅值得我们compile,更值得我们read。原理Tinker和以往的HotFix库思路不太一样,它更像是APP的增量更新,在服务器端通过差异性算法,计算出新旧dex之间的差异包,推送到客

2017-02-10 11:55:45 1200

转载 Android热更新实现原理

原文出处:http://blog.csdn.net/lzyzsd/article/details/49843581 最近Android社区的氛围很不错嘛,连续放出一系列的Android动态加载插件和热更新库,这篇文章就来介绍一下Android中实现热更新的原理。ClassLoader我们知道Java在运行时加载对应的类是通过ClassLoader来实现的,ClassLoad

2017-02-09 17:59:04 1860

转载 Android中关于外部存储的一些重要函数

一、简介关于Android的数据外部存储,在API Level 8之前,所有的文件都是建议放在Environment.getExternalStorageState()目录下的;从API Level 8开始,对于应用程序的私有文件应该放在Context.getExternalFilesDir目录下,非私有的(shared)的文件应该放在目录下Environment.getExternalS

2017-02-09 15:57:40 477

转载 Android中关于内部存储的一些重要函数

一、简介Android中,你也可以通过绝对路径以JAVA传统方式访问内部存储空间。但是以这种方式创建的文件是对私有,创建它的应用程序对该文件是可读可写,但是别的应用程序并不能直接访问它。不是所有的内部存储空间应用程序都可以访问,默认情况下只能访问“/data/data/你的应用程序的包名”这个路径下的文件。Android中,你还可以使用Context对象的openFileOutpu

2017-02-09 15:56:16 381

转载 Android 热补丁动态修复框架小结

一、概述最新github上开源了很多热补丁动态修复框架,大致有:https://github.com/dodola/HotFixhttps://github.com/jasonross/Nuwahttps://github.com/bunnyblue/DroidFix上述三个框架呢,根据其描述,原理都来自:安卓App热补丁动态修复技术介绍,以及Android dex分包

2017-02-09 11:04:30 494

转载 Android 热修复 Tinker接入及源码浅析

一、概述放了一个大长假,happy,先祝大家2017年笑口常开。假期中一行代码没写,但是想着马上要上班了,赶紧写篇博客回顾下技能,于是便有了本文。热修复这项技术,基本上已经成为项目比较重要的模块了。主要因为项目在上线之后,都难免会有各种问题,而依靠发版去修复问题,成本太高了。现在热修复的技术基本上有阿里的AndFix、QZone的方案、美团提出的思想方案以及腾讯的T

2017-02-08 17:59:35 419

转载 Android 热修复,没你想的那么难

写在前面本文原创,转载请以链接形式注明地址:http://kymjs.com/code/2016/05/08/01一种动态加载最简单的实现方式,代码实现起来非常简单,重要的是这种思路和原理 《插件化从放弃到捡起》第一章,首先看一张图: 这张图是我所理解的 Android 插件化技术的三个技术点以及它们的应用场景。今天以 【Qzone 热修复方案为例】,跟大家讲一

2017-02-08 17:38:05 634

转载 浅谈Android主流热修复技术

热修复热修复作为当下热门的技术,在业界内比较著名的有阿里巴巴的AndFix、Dexposed,腾讯QQ空间的超级补丁技术和微信的Tinker。最近阿里百川推出的HotFix热修复服务就基于AndFix技术,定位于线上紧急BUG的即时修复,所以AndFix技术这块我们重点分析阿里百川HotFix。下面,我们就分别介绍QQ空间超级热补丁技术和微信的Tinker以及阿里百川HotFix技术

2017-02-08 17:35:32 5213

转载 Android 热修复其实很简单

一、什么是热修复热修复说白了就是”打补丁”,比如你们公司上线一个app,用户反应有重大bug,需要紧急修复。如果按照通 常做法,那就是程序猿加班搞定bug,然后测试,重新打包并发布。这样带来的问题就是成本高,效率低。于是,热 修复就应运而生.一般通过事先设定的接口从网上下载无Bug的代码来替换有Bug的代码。这样就省事多了,用 户体验也好。二、热修复的原理1.A

2017-02-08 17:32:06 20564 4

转载 其实你不知道MultiDex到底有多坑

遭遇MultiDex愉快地写着Android代码的总悟君往工程里引入了一个默默无闻的jar然后Run了一下, 经过漫长的等待AndroidStudio构建失败了。于是总悟君带着疑惑查看错误信息。UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: method ID not in [0, 0xffff

2017-02-07 18:25:19 3737

空空如也

空空如也

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

TA关注的人

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