本文主要整理一些平时用到的开源项目或参考资料,供参考(初期内容无分类先后,持续整理中)。先借别人整理的图镇着:
Android通用流行框架大全
androidcat
AndroidCat安卓书签网,一个专门为Android开发者而收集整理的网站资源导航。
Freeline
Freeline是由蚂蚁聚宝Android团队开发的一款针对Android平台的增量编译工具。它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。
可参考官方说明配置使用,能够很大限度的减少开发过程中编译时间,特别是对UI调整看效果。
AndResGuard
AndResGuard是一个帮助你缩小APK大小的工具,他的原理类似Java Proguard,但是只针对资源。他会将原本冗长的资源路径变短,例如将res/drawable/wechat变为r/d/a。
AndroidUtilCode
Android开发人员不得不收集的代码。作者列举了很多常用的代码方法,作为一个字典方便查找。
Android-Easy-MultiDex
比较全面的Android分包方式,内涵各种填坑处理。对于解决65535有帮助。
Gradle 完整指南
一篇比较全面的介绍Android Gradle的文章。
TinyPngPlugin
一个 TinyPng 的 Gradle 插件,它能够批量地压缩你项目中的图片。
Walle
Walle(瓦力):Android Signature V2 Scheme签名下的新一代渠道包打包神器。瓦力通过在Apk中的APK Signature Block区块添加自定义的渠道信息来生成渠道包,从而提高了渠道包生成效率,可以作为单机工具来使用,也可以部署在HTTP服务器上来实时处理渠道包Apk的升级网络请求。
多渠道快速打包
美团早期的快速打包实现方式。
packer-ng-plugin
另一种快速打包的方式。
tinker
Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。
需注意点:不支持install run 及googleMarket渠道 ;1.7.5之前支持加固模式,但是360加固有一个问题MainActivity中的内容修改无效(其内包含的fragment内容修改正常以及其他activity和资源文件修改正常,验证过),而且加固后的补丁包比较大是正常模式的2-3倍。1.7.5之后去除加固形式。
Nuwa
QQ空间的热修复方案(未用过)。
Amigo
饿了么热修复方案(未用过)。
Robust
美团点评热修复方案(未用过)。
新一代热更新系统Robust,对Android版本无差别兼容。无需发版就可以做到随时修改线上bug,快速对重大线上问题作出反应,补丁修补成功率高达99.9%。具体介绍可参见:Android热更新方案Robust
及其自动化补丁工具。
android-gif-drawable
一个很好的支持gif图片的Android开源框架,使用起来比较简单方便。
leakcanary
一个很好的检测内存泄露的开源项目,让内存泄露无所遁形。
BlockCanary
检测界面卡顿的开源项目。BlockCanary是一个Android平台的一个非侵入式的性能监控组件,应用只需要实现一个抽象类,提供一些该组件需要的上下文环境,就可以在平时使用应用的时候检测主线程上的各种卡慢问题,并通过组件提供的各种信息分析出原因并进行修复。
AndPermission
Android 6.0运行时权限管理。
DroidPlugin
DroidPlugin 是360手机助手在Android系统上实现的一种新的插件机制:它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处。插件APK完全不需做任何修改,可以独立安装运行、也可以做插件运行。要以插件模式运行某个APK,你无需重新编译、无需知道其源码。
EventBus
EventBus 是一个 Android 事件发布/订阅框架,通过解耦发布者和订阅者简化应用程序内各组件间、组件与后台线程间的通信,使用简单代码优雅。具体原理可参见EventBus 源码解析
MarsDaemon
一个轻量级进程保活的库,对6.0以下手机的保活效果比较好。
volley
Volley 是 Google 推出的 Android 异步网络请求框架和图片加载框架。在 Google I/O 2013 大会上发布。
okhttp
一个功能强大的处理网络请求的轻量级框架,具体使用可参见OkHttp使用教程。
jOOR
jOOR(Java Object Oriented Reflection),它是一个对java.lang.reflect包的简单封装,使得我们使用起来更加直接和方便。参见 一个事半功倍的Java反射库.
APK method count
一个计算APK方法数的网站,方便查看引入的哪些开源库的方法数比较多。
Charles
Charles 是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 从入门到精通