Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
50 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android-open-source-collection

由于自己一直在收藏别人的开源项目,到现在已经有几百个收藏的项目了,以至于每次需要某个开源项目时很难找到,所以做了这个统计分类日常用到的开源项目的项目,主要是Android相关的

github搜索,stars:>50000,查看项目排名

推荐几款管理github,star的工具

  • Astral 用了以下,可以给自己star的项目加标签,通过标签就可以方便管理
  • Git Constellation 不是很会用这个
  • OhMyStar2只有Mac版的

github搜索工具:

  • CODELF github的搜索,会出来很多分类,根据需要进入对应项目

国内优秀开源作者(一些都认识的大神,后面再慢慢补上):

国外优秀开源作者

他人做的开源总结库:

网络类:

  • square okhttp
  • square retrofit
  • jeasonlzy okhttp-OkGo 文档很全面,该库是基于 Http 协议,封装了 OkHttp 的网络请求框架,比 Retrofit 更简单易用,支持 RxJava,RxJava2,支持自定义缓存,支持批量断点下载管理和批量上传管理功能
  • amitshekhariitbhu Fast-Android-Networking 网络请求类
  • facebook stetho 可以通过浏览器,配合Okhttp的拦截器查看网络请求(抓包),并且可以查看app的DB和Sp的内容
  • loopj android-async-http 基于回调的异步Android Http客户端,构建在Apache的Httpclient库之上。
  • litesuits android-lite-http LiteHttp 只需要一行代码即可完美实现网络连接,它全面支持 GET, POST, PUT, DELETE, HEAD, TRACE, OPTIONS 和 PATCH 八种基本类型。 LiteHttp 能将 Java Model 转化为请求参数,也能将响应的 json 语句智能转化为 JavaModel ,这种全自动解析策略将节省你大量的构建请求、解析响应的时间。 并且,你能自己继承重新实现 Dataparser 这个抽象类并设置给 Request,来将原始的 InputStream 转化为任何你想要的东西。
  • yanzhenjie NoHttp Android实现Http标准协议框架,支持缓存(提供五种缓存模式)、代理、重定向,底层可动态切换OkHttp、URLConnection。
  • yanzhenjie Kalle NoHttp作者,应该是比NoHttp封装的更好吧
  • stealthcopter AndroidNetworkTools 并非我们常用的Http网络工具库,而是一个针对端口扫描、子网设备查询、Ping等功能的库
  • zhou-you RxEasyHttp 一款基于RxJava2+Retrofit2实现简单易用的网络请求框架

网络辅助类:

  • ihsanbal LoggingInterceptorokhttp的log拦截器
  • facebook stetho 可以通过浏览器,查看app的DB和Sp的内容 ,并且有配合Okhttp的拦截器,可以查看网络请求(抓包)
  • yale8848 RetrofitCache RetrofitCache让retrofit2+okhttp3+rxjava配置缓存如此简单。通过注解配置,可以针对每一个接口灵活配置缓存策略;同时让每一个接口方便支持数据模拟,可以代码减小侵入性,模拟数据可以从内存,Assets,url轻松获取。

视频类:

  • Bilibili ijkplayer
  • google ExoPlayer
  • yixia VitamioBundleStudio Vitamio 官网首页
  • lipangit JiaoZiVideoPlayer 视频播放,支持一行代码将系统的播放器换成Ijkplayer Exoplayer Vitamio等
  • CarGuo GSYVideoPlayer 视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS支持,支持弹幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频本身自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,直接添加控件为封面,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,其他一些小动画效果,rtsp、concat、mpeg。
  • daniulive SmarterStreaming 直播类,当然包含视频播放
  • tcking GiraffePlayer2 基于ijkplayer,这个挺好用的
  • danylovolokh VideoPlayerManager 帮助控制Android MediaPlayer的,会更加方便
  • huyongli huyongli Android播放视频library,支持小窗口,全屏模式播放,支持手势控制前进,后退,音量,亮度等操作,支持视频缓存,支持自定义显示视图。视频播放控制与界面展示完全解耦,支持自定义基于不同内核(MediaPlayer, ExoPlayer, PLDroidPlay...)的播放器,对界面操作无任何影响
  • yangchong211 YCVideoPlayer 视频播放器封装库案例,仿照优酷,爱奇艺视频播放器,可以添家视频观看权限,试看模式,类似优酷试看功能。基于ijkplayer,支持网络视频或者本地视频播放,滑动调节亮度或者音量,快进快退,记录播放位置。可以设置边观看变缓存,支持全屏播放,小窗口,正常播放等模式;还支持列表播放,切换分辨率,还可以自定义视频播放器,拓展性强
  • EasyDSS EasyPlayer EasyPlayer是一款精炼、高效、稳定的流媒体播放器,分为RTSP版、RTMP版和Pro版本,支持各种各样的流媒体音视频播放!
  • pili-engineering PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。
  • dueeeke dkplayer 基于IjkPlayer的视频播放器,支持直播点播,悬浮窗播放,广告播放,边播边缓存;支持重力感应自动全屏;完美实现ListView和RecyclerView列表播放;支持清晰度切换;支持一行代码切换MediaPlayer和ExoPlayer;
  • jiajunhui PlayerBase Android播放器基础库,专注于播放视图组件的高复用性和组件间的低耦合,轻松处理复杂业务。
  • Tourenathan-G5organisation SiliCompressor 视频和图片压缩
  • danikula AndroidVideoCache 视频播放缓存库

demo类:

MVP框架:

  • sockeqwe mosby 官网
  • konmik nucleus
  • square mortar
  • JessYanCoding MVPArms 国人做的,提供了中文文档,一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架

demo类:

  • ljqloveyou123 perfect-mvp mvp的demo,也可以直接拿来用

MVVM框架:

  • goldze MVVMHabit 基于谷歌最新AAC架构,MVVM设计模式的一套快速开发库,整合Okhttp+RxJava+Retrofit+Glide等主流模块,满足日常开发需求。使用该框架可以快速开发一个健壮、易维护的Android应用。

滚动布局

Adapter

RecyclerView及下拉刷新:

  • scwang90 SmartRefreshLayout下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。
  • liaohuqiu android-Ultra-Pull-To-Refresh 这是现在已经停止维护的下拉刷新项目的替代方案。继承于ViewGroup可以包含任何View。功能比SwipeRefreshLayout强大。使用起来非常简单。良好的设计,如果你想定制自己的UI样式,非常简单,就像给ListView加一个Header View那么简单。
  • jdsjlzx LRecyclerView RecyclerView下拉刷新,自动加载更多;仿IOS侧滑Item删除菜单
  • cundong HeaderAndFooterRecyclerView RecyclerView下拉刷新,自动加载更多;仿IOS侧滑Item删除菜单
  • yanzhenjie SwipeRecyclerView RecyclerView侧滑菜单,Item拖拽,滑动删除Item,自动加载更多,HeaderView,FooterView,Item分组黏贴。
  • zhou-you EasyXRecyclerView 主要提供了简单易用强大的RecyclerView库,包括自定义刷新加载效果、极简通用的万能适配器Adapter、万能分割线、多种分组效果、常见状态页面、item动画效果、添加多个header和footer、侧滑、拖拽、Sticky(黏性)效果、多item布局等,各模块之间灵活、解耦、通用、又能相互组合使用。

条目Item侧滑效果:

页面侧滑:

  • bingoogolapple BGASwipeBackLayout-Android Android Activity 滑动返回。支持微信滑动返回样式、横屏滑动返回、全屏滑动返回
  • ikew0ng SwipeBackLayout 一个Android库,可帮助您通过向后滑动手势构建应用程序。

轮播图:

  • youth5201314 banner Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等!
  • ImmortalZ StereoView Android 3D立体无限旋转容器。
  • pinguo-zhouwei MZBannerView 仿魅族BannerView,图片轮播控件,支持多种模式切换:普通ViewPager使用,普通Banner使用,仿魅族Banner使用。
  • chengdazhi DecentBanner 红板报风格的banner

TitleBar:

  • wuhenzhizao android-titlebar 通用,功能全面的自定义标题栏,支持沉浸式标题栏,颜色渐变

设置view(基本上每个app都会有的settingview)

全套UI

  • xuexiangjys XUI 一个简洁而优雅的Android原生UI框架

下载辅助

  • MindorksOpenSource PRDownloader
  • bingoogolapple BGAUpdate-Android RxJava + Retrofit 下载新版 apk 文件,RxBus 监听下载进度 适配 Android 8.+ 系统,检测新版 apk 文件是否已经下载过,RxJava1.x + Retrofit2.x 下载新版 apk 文件,RxBus 监听下载进度,安装 apk 文件,删除之前升级时下载的老的 apk 文件
  • lingochamp FileDownloader Android 文件下载引擎,稳定、高效、灵活、简单易用
  • lingochamp okdownload 上面下载工具的升级版
  • WVector AppUpdate Android 版本更新工具
  • xuexiangjys XUpdate 一个轻量级、高可用性的Android版本更新框架

主题换肤(皮肤)类:

  • ximsfei Android-skin-support 一款用心去做的Android 换肤框架, 极低的学习成本, 极好的用户体验. 一行代码就可以实现换肤, 你值得拥有!!!
  • Bilibili MagicaSakura 方便切换主题
  • hongyangAndroid AndroidChangeSkin 一种完全无侵入的换肤方式,支持插件式和应用内,无需重启Activity

图片选择器:

  • 知乎  Matisse bate版有选择视频的功能,有没有录制视频的功能还没去研究,图片选择挺好用的。
  • yanzhenjie Album
  • Bilibili boxing
  • bingoogolapple BGAPhotoPicker-Android Android 图片选择、预览、九宫格图片控件、拖拽排序九宫格图片控件
  • LuckSiege PictureSelector 支持从相册或拍照选择图片或视频、音频,支持动态权限获取、裁剪(单图or多图裁剪)、压缩、主题自定义配置等功能、适配android 6.0+系统的开源图片选择框架,用的是glide4.0以上版本,会与项目起冲突,具体还没有使用。
  • FinalTeam RxGalleryFinal Android图片单选/多选、拍照、裁剪、压缩。视频选择和录制。
  • crazycodeboy TakePhoto 在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库。(没有选视频的功能)
  • donglua PhotoPicker 用的是glide4.0以上版本
  • jeasonlzy ImagePicker 廖子尧的库,可以试用下,但是没有选视频的功能,且已经停止维护了
  • guoxiaoxing phoenix Android平台上图片/视频选择,编辑和压缩的一站式解决方案,这个也挺好用的,而且作者问题反馈率很高
  • Werb PickPhotoSample 图片选择库
  • lijunguan AlbumSelector 图片选择库,可以用来选择头像,或者多张图片选择, material design
  • lovetuzitong MultiImageSelector比较老
  • HuanTanSheng EasyPhotos自定义相机拍照,相册选择(单选/多选),文件夹图片选择(单选/多选)

数据库:

动画效果

  • airbnb lottie-android 在Android和iOS,Web和React Native上使用After Effects动画
  • facebook rebound 弹簧效果(没有仔细用过,不清楚还有没有其他效果)
  • facebook shimmer-android 一闪一闪的效果
  • daimajia AndroidViewAnimations 可爱的视图动画集合。
  • daimajia AnimationEasingFunctions 根据作者的意思,这个库是从上面这个库升级而来的。Android动画缓和功能。 让动画更真实!
  • yyued SVGAPlayer-Android 使用 SVGAPlayer 在 Android、iOS、Web中播放 After Effects / Animate CC (Flash) 动画。
  • florent37 ViewAnimator 很多中动画

图片压缩:

  • Curzibn Luban 图片压缩,微信压缩后的图片逆向推算出来的压缩算法
  • zetbaitsu Compressor
  • Sunzxyong Tiny 一个高保真、高压缩比的图片压缩框架
  • Shouheng88 Compressor 基于 Android 自带的图片压缩 API 进行封装,结合了 Luban 和 Compressor 的优点

ImageView相关:

  • chrisbanes PhotoView 支持缩放,手势操作。
  • hdodenhof CircleImageView 圆形的ImageView
  • vinc3m1 RoundedImageView 支持圆角,椭圆和圆ImageView。
  • boycy815 PinchImageView 这是一个手势体验极棒但使用简单的ImageView控件,实现了手势放大缩小,平移等功能。PinchImageView继承于ImageView,可以在所有ImageView可以使用的情况下使用。全部的程序仅一个类文件,没有依赖任何特殊的外部库,非常易于集成。
  • cnlkl TransformativeImageView 自定义ImageView,可以旋转,翻译和缩放图像。原理
  • sephiroth74 ImageViewZoom Android ImageView小部件,具有缩放和平移功能
  • stfalcon-studio MultiImageView Android库在一个ImageView中显示几个图像,例如群聊的头像
  • Piasy BigImageViewer 基于Subsampling Scale Image View, Fresco, Glide, 和 Picasso的大图加载,支持缩放,可以使用不同的加载库,加载进度,支持下载。
  • davemorrissey subsampling-scale-image-view Android库(AAR)。 高度可配置,易于扩展的深度缩放视图,可显示巨大图像而不会损失细节。 适合照片画廊,地图,建筑计划等。
  • flavioarfaria KenBurnsView 带动画的imageview
  • florent37 DiagonalLayout 可以给imageview切斜边
  • wasabeef Blurry 毛玻璃效果
  • chengdazhi StyleImageView 本类库可以对ImageView,View Background,Drawable和Bitmap添加风格与设置亮度、对比度。本类库现提供十种风格

图片显示相关:

图片处理相关:

  • pqpo SmartCropper智能图片裁剪框架。自动识别边框,手动调节选区,使用透视变换裁剪并矫正选区;适用于身份证,名片,文档等照片的裁剪。
  • ArthurHub Android-Image-Cropper适用于Android的图像裁剪库,针对相机/图库进行了优化。

图表类:

  • PhilJay MPAndroidChart一个强大的Android图表视图/图形视图库,支持线条形 - 雷达 - 泡沫和烛台图表,以及缩放,拖动和动画。
  • AAChartModel AAChartCore 极其精美而又强大的 Android 数据可视化图表框架,支持柱状图、条形图、折线图、曲线图、折线填充
  • openXu OXChart 各种自定义图表库,使用简单,支持扩展
  • huangyanbin SmartChart一款android 图表框架,支持图表N配置,支持缩放,旋转手势。
  • lecho hellocharts-android 使用方法适用于Android的图表/图表库兼容API 8+,多种图表类型,支持缩放,滚动和动画
  • xcltapestry XCL-Charts 国内开源的,所以有中文文档
  • whataa SuitLines 一个小巧且高效的线性图表组件。
  • wordplat ikvStockChart 一个简单的Android股票图表库,支持时间线,K线,MACD,KDJ,RSI,BOLL指数和交互式手势操作,包括左右滑动刷新,缩放,突出显示
  • linheimx LChart 一个折线图,它提供了几个非常实用的功能,并且非常简单,易于使用。
  • ZuYun Jgraph 一个视觉效果还不错的图表控件
  • DmitriyZaitsev RadarChartView 用于渲染径向图的Android视图(小部件)能力图
  • hrules6872 Charter 使用方法柱状图
  • panpf spider-web-score-view SpiderWebScoreView 是 Android 上的一个蛛网评分控件
  • txusballesteros snake Snake View是Android的一个简单和动画线性图表。
  • Geek-1001 MagnificentChart 用于圆形图表的简单的开源Android库。效果图
  • Erzer polonium-chart-view Android库,方便创建图表和自定义视觉风格。主要是折线图
  • johnjohndoe AFreeChart AFreeChart是基于JFreeChart 1.0.13的Android免费图表库
  • svenkapudija Android-FancyChart 折线图
  • blackfizz EazeGraph EazeGraph是一个轻量级简洁扁平风格的开源图表库,目前有Bar Chart,Stacked Bar Chart,Pie Chart,Line Chart四种图表可选择,每一种图表都带有动画效果。只有lib包
  • appsthatmatter GraphView Android图形库,用于创建可缩放和可滚动的线条和条形图。
  • diogobernardino WilliamChart 使用方法Android库创建图表。
  • bmarrdev android-DecoView-charting 一个实现了各种圆环动画效果的library
  • dlazaro66 WheelIndicatorView 圆环进度图表
  • txusballesteros fit-chart Fit Chart 是一个类似于谷歌健康应用的轮子(wheel view)视图。
  • evrencoskun TableView 类似Excel的一个view
  • huangyanbin smartTable一款android自动生成表格框架。
  • teddyisme LCharts-android 柱状图 雷达图 饼状图 折线图
  • razerdp AnimatedPieView 简单的饼状图

demo:

  • PaoloConte smooth-line-chart 与绘制折线图不同,smooth-line-chart能根据两点绘制平滑的曲线,使用的是贝赛尔曲线的原理。项目比较简单,但是如果你还不知道贝塞尔曲线如何绘制的话可以学习一下。

拍摄类:

  • wonderkiln CameraKit-Android 中文说明方便控制拍摄的库 如果报关于ExifInterface的错,添加一个依赖:compile 'com.android.support:exifinterface:25.+'
  • afollestad material-camera 拍摄库
  • CJT2325 CameraView 仿微信拍照Android控件(轻触拍照,长按摄像)

app美化类:

  • elye loaderviewlibrary 在显示任何文本或图像之前,提供textview和imageview两种显示微光(动画加载器)的功能。等待数据从网络加载时很有用。
  • Bearded-Hen Android-Bootstrap 引导程序样式小部件的android,具有标志符号图标,自带小图标的textview、button、下拉选择等等。图标库地址

悬浮类(dialog):

  • yhaolpz FloatWindow Andorid 任意界面悬浮窗
  • txusballesteros bubbles-for-android Bubbles for Android是一个Android库,为您的应用程序提供聊天头功能.可以任何界面悬浮
  • afollestad material-dialogs 一个美丽,流畅,可定制的对话框API。
  • wangjiegulu RapidFloatingActionButton FloatingActionButton,可以弹出很多子选项
  • pedant sweet-alert-dialog Android版的SweetAlert,清新文艺,快意灵动的甜心弹框
  • kongzue DialogV3 集成三种风格+夜间模式对话框,以及等待、提示、分享等特色对话框,支持花式自定义

PopupWindow

  • razerdp BasePopup Android下打造通用便捷的PopupWindow

提示Tip

SeekBar

  • woxingxiao BubbleSeekBar 自定义SeekBar,进度变化更以可视化气泡样式呈现
  • zhou-you EasySignSeekBar 自定义SeekBar,进度变化由提示牌 (sign)展示,具有强大的属性设置,支持设置section(节点)、mark(标记)、track(轨迹)、thumb(拖动块)、progress(进度)、sign(提示框)等功能
  • zhou-you EasySegmentedBarView 自定义分段控件,方便快速实现分段效果,支持xml配置、代码配置、分段规则按均分/比例分、数字分段、文本分段、渐变分段、bar条样式正常/圆形/三角形,segment文字样式、进度设置、进度标记类型设置、分段描述设置、其它更多自定义设置等功能。

角标类(Badger):

  • leolin310148 ShortcutBadger 桌面图标的消息数角标
  • xuyisheng ShortcutHelper 桌面图标的消息数角标
  • beiliao-mobile BadgeNumberManager 桌面图标的消息数角标,Huawei, Xiaomi, OPPO, vivo
  • bingoogolapple BGABadgeView-Android app内的消息数角标,类似qq的未读消息数
  • nekocode Badge 一个可以设置成类似开源协议背景的那种textview

导航类(类似TableLayout和ViewPager):

  • Devlight NavigationTabBar 导航标签栏与丰富多彩的互动。
  • hackware1993 MagicIndicator 强大、可定制、易扩展的 ViewPager 指示器框架。是ViewPagerIndicator、TabLayout、PagerSlidingTabStrip的最佳替代品。支持角标,更支持在非ViewPager场景下使用
  • bingoogolapple BGARefreshLayout-Android 多种下拉刷新效果、上拉加载更多、可配置自定义头部广告位
  • Cleveroad LoopBar 点击无限滚动条, 在选项卡栏中的指纹处创建导航菜单。
  • romandanylyk PageIndicatorView viewpager的原点指示器
  • iammert ReadableBottomBar 底部导航

二维码:

  • yipianfengye android-zxingLibrary 几行代码快速集成二维码扫描功能
  • bingoogolapple BGAQRCode-Android QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式
  • dm77 barcodescanner
  • SumiMakito AwesomeQRCode 二维码生成器

HTML:

文件查看:

  • 腾讯 TBS 腾讯的浏览服务,可以查看各种文件(包括office的文件)
  • barteksc AndroidPdfViewer 查看PDF
  • voghDev PdfViewPager Android小部件,可以呈现存储在SD卡上的PDF文档,链接为资源或从远程URL下载。

日历

  • huanghaibin-dev CalendarView Android上一个优雅、万能自定义UI、支持周视图、性能高效的日历控件,支持热插拔实现的UI定制!支持标记、自定义颜色、农历、自定义月视图各种显示模式等。Canvas绘制,速度快、占用内存低,你真的想不到日历居然还可以如此优雅!

recyclerView相关

  • wuyr PathLayoutManager 轻松实现各种炫酷、特殊效果
  • alibaba vlayoutVirtualLayout是一个针对RecyclerView的LayoutManager扩展, 主要提供一整套布局方案和布局间的组件复用的问题。
  • DingMouRen LayoutManagerGroup 给RecyclerView设置自定义的LayoutManager
  • BelooS ChipsLayoutManager ANDROID。 ChipsLayoutManager(SpanLayoutManager,FlowLayoutManager)。 RecyclerView的一个自定义的布局管理器,它模仿TextView跨越行为,流动布局的行为,支持惊人的recyclerView功能

其他类自定义view

  • hackware1993 WaveView 一个简单的、巧妙的水波纹扩散效果
  • tyrantgit ExplosionField 天女散花的效果
  • tyrantgit HeartLayout 点赞的心
  • glomadrian Grav 基于点的可配置动画,各种光离子的动画
  • glomadrian material-code-input material的输入框
  • glomadrian RoadRunner 带动画的加载svg图像
  • JorgeCastilloPrz AndroidFillableLoaders Android可填充的进度视图使用SVG路径。如果你想为你的应用程序创建一个有趣的品牌标志,这也是一个不错的选择。
  • glomadrian loading-balls 一个高度可配置的库,用动画球来加载进度
  • glomadrian material-animated-switch material的切换开关
  • niniloveyou StateButton 一个可以用代码设置selector背景(按下去背景颜色更改,样式变化等等)的button, 再也不用写selector了
  • lguipeng BubbleView 聊天中消息气泡的view
  • daimajia AndroidViewHover 一个优雅的方式来显示您的菜单或消息。菜单都是悬浮出来的
  • lguipeng AnimCheckBox 带动画的checkbox
  • stfalcon-studio ChatKit IM的UI库
  • Rance935 ChatUI IM的UI库
  • jpush aurora-imui IM的UI库
  • DuanJiaNingColorPicker 进度条”水平、竖直颜色选择器。
  • DuanJiaNingMediaView 带阴影点击效果,可自定义属性的媒体播放控制按钮。包括【播放(暂停)】按钮,【下一曲(上一曲)】按钮。
  • florent37 ShapeOfView 给任何android视图定制形状
  • HpWens MeiWidgetView 几个自定义控件的集合
  • JustKiddingBaby RollingLayout 一个可以让自己子视图自动滚动的view,仿淘宝头条
  • xmuSistone DragRankSquare 编辑个人资料,图片可拖拽排序。有点像可拖拽的gridView,但是会更流畅。
  • etsy AndroidStaggeredGrid 一个Android交错网格视图,它支持具有不同大小的行的多个列。瀑布流
  • shellljx TagViewGroup Android 仿小红书图片标签Group
  • developer-shivam Crescento 在ImageView和relative layout的底部添加曲线。
  • Quatja Vorolay VoronoiView是一个视图(视图组),允许您在Voronoi图区域内添加和显示视图。会是菱形显示
  • scwang90 MultiWaveHeader Android 炫酷的多重水波纹
  • hanks-zyh SmallBang 心型点赞
  • lnikkila ExtendedTouchView 扩展view的点击触摸区域
  • iammert ScalingLayout 通过缩放布局,可以在用户交互上缩放布局。
  • RuffianZhong RWidgetHelper 通过继承原生控件,设置自定义属性,解决常用 Selector,Gradient,Shape, 阴影,水波纹等功能,原生控件都可实现 基础功能 ,针对具体控件还有 个性功能
  • mcxtzhang PathAnimView 用于做Path动画的自定义View(根据你设定的path,可以执行对应的动画)

流式布局

  • hongyangAndroid FlowLayout Android流式布局,支持单选、多选等,适合用于产品标签等。
  • bingoogolapple BGAFlowLayout-Android Android 流式布局,可配置是否将每一行的空白区域平均分配给子控件

Toast(吐司)

透明指示层 (HUD)

进度条

  • daimajia NumberProgressBar 一个好看的的Android进度条。
  • castorflex SmoothProgressBar 一个小型Android库,允许您拥有平滑且可定制的水平不确定ProgressBar
  • akexorcist Android-RoundCornerProgressBar 带圆角和图标的进度条
  • AnderWeb discreteSeekBar 带气泡的进度条
  • bingoogolapple BGAProgressBar-Android带百分比数字的水平、圆形进度条
  • lingochamp MagicProgressWidget 渐变的圆形进度条与轻量横向进度条
  • JessYanCoding ProgressManager ProgressManager 一行代码即可监听 App 中所有通过okhttp网络链接的上传以及下载进度,包括 Glide 的图片加载进度
  • sfsheng0322 GlideImageView 基于Glide V4.0封装的图片加载库,可以监听加载图片时的进度
  • peng8350 LoadingProgress 特别方便的在View上,注入一个进度条,改进度条和view绑定,所以一个页面上如果有很多view都需要进度条显示,用这个库会很方便
  • baoyachi StepView 类似京东的发货进度

加载类(Loading):

折叠式view:

权限申请:

  • googlesamples easypermissions 辅助动态申请权限
  • yanzhenjie AndPermission 辅助动态申请权限
  • tbruyelle RxPermissions Android运行时权限通过RxJava2
  • florent37 RuntimePermission 在Android上请求运行时权限的最简单方式,不需要扩展类或覆盖权限结果方法,选择您的方式: Kotlin / Coroutines / RxJava / Java 7 / Java 8
  • yewei02538 HiPermission 一个简单易用的漂亮权限申请库
  • Karumi Dexter
  • skydoves Needs

框架架构类:

  • googlesamples android-architecture-components 谷歌官方 Android 应用架构库。这个新的架构库旨在帮助我们设计健壮、可测试的和可维护的应用程序。关注分离,模型驱动UI,优先持久化模型
  • JumeiRdGroup Router一款单品、组件化、插件化全支持的Andoid端路由框架,简单来说.即通过一行url去指定打开指定页面Activity的框架.充分做到页面间解耦.
    • north2016 T-MVP Apt,AspectJ,Javassisit的Android AOP架构,基于Realm + Databinding + MVP + Retrofit + Rxjava2

Fragment类:

  • YoKeyword Fragmentation 为Android管理Fragment的强大库
  • JustKiddingBaby FragmentRigger 这可能是使用成本最低的Fragment框架。无需继承!在使用FragmentRigger的时候,使用成本只有一行注解!!!

适配类:

  • JessYanCoding AndroidAutoSize (今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案
  • 鸿阳大神 AndroidAutoLayout 很遗憾的,停止更新了

国际化:

时间相关

沉浸式

  • gyf-dev ImmersionBar android 4.4以上沉浸式状态栏和沉浸式导航栏管理,包括状态栏字体颜色,一句代码轻松实现,以及对bar的其他设置
  • liyuhaolol LightImmersionMode 纯色沉浸式状态栏开发,兼容浅色状态栏自适应深色字体
  • matrixxun ImmersiveDetailSample 一个示例应用程序展示了如何实现身临其境的视差效果标题,如谷歌商店
  • jgilfelt SystemBarTint 已过时
  • H07000223 FlycoSystemBar
  • yanzhenjie Sofia 部分全面屏上发现导航栏填充不完整(V1.0.5),SystemBar一体化,状态栏和导航栏均支持设置颜色、渐变色、图片、透明度、内容入侵。状态栏支持设置深色字体,以上特性兼容国产魅族、小米手机(包括7.0及以上)和其它标准模式的手机。
  • laobie StatusBarUtil 用的较多的一个库
  • Jude95 FitSystemWindowLayout 适应Statusbar与NavigationBar的各种Layout
  • niorgai StatusBarCompat 这是一个为了兼容处理状态栏的工具类,可以不需要设置不同的style.xml文件,最重要的特性就是可以在不重启 Activity 的情况下切换 setStatusBarColor 和 translucentStatusBar
  • Zackratos UltimateBar 透明状态栏导航栏、沉浸式状态栏导航栏的终极解决方案

标签:

  • robertlevonyan materialChipView material视图。 可以用作类别,联系人或创建文本云的标签
  • DoodleScheduling android-material-chips ANDROID。 ChipsLayoutManager(SpanLayoutManager,FlowLayoutManager)。 RecyclerView的一个自定义的布局管理器,它模仿TextView跨越行为,流动布局的行为,支持惊人的recyclerView功能

更改字体:

EditText:

  • xujinyang BiuEditText从上或下,飞进来的字
  • alphamu AnimatedEditTextAndroids EditText动画输入的文本。 EditText被扩展为创建AnimatedEditText和PinEntryEditText。
  • mrmilu WPEditTextMaterial design风格的EditText ,带图标和验证功能。
  • Pombo material-edit-textMaterial Design风格的输入框控件,可以设置图标,支持悬浮文字提示。
  • mabbas007 TagsEditText标签输入控件。
  • pchmn MaterialChipsInput这个库实现了Material Design中的Chips component ,分为可编辑的ChipsInput和ChipView。
  • Rogero0o PasswordLoadingView当完成密码时提供动画
  • MindorksOpenSource EditDrawableText 带图标的edittext
  • hanks-zyh LineHeightEditText 设置lineSpacingExtra或lineSpacingMultiplier时修复edittext lineHeight和游标长度
  • hanks-zyh PasscodeView 密码输入view

TextView

button

  • Bearded-Hen Android-Bootstrap 用于Android的引导样式小部件,带有字形图标

线程任务相关

  • BoltsFramework Bolts-Android 可以方便的在线程间执行各种任务

特殊功能类:

  • stfalcon-studio SmsVerifyCatcher 用于在您的应用中验证电话号码的Android库。 自动将验证码从SMS复制到应用程序中。
  • luckybilly PreLoader android页面启动速度优化利器:在页面打开之前就预加载数据
  • githubwing ByeBurger 这是一个极其简便的快速实现隐藏标题栏和导航栏的库
  • jarryleo SingleClick 安卓点击事件防重库

缓存存储相关

  • yangfuhai ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件,可以缓存普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 byte数据。
  • anupcowkur Reservoir Android库轻松使用键/值对将对象序列化并缓存到磁盘。

Socket相关

  • TooTallNate Java-WebSocket 用100%Java编写的准系统WebSocket客户端和服务器实现

表情类:

键盘类:

蓝牙

  • Jasonchenlijian FastBle 蓝牙快速开发框架
  • dingjikerbo BluetoothKit Android BLE蓝牙通信库
  • Alex-Jerry Android-BLE AndroidBLE蓝牙框架,包括扫描、连接、设置通知、发送数据、读取、接收数据和OTA升级以及各种直观的回调,近乎一行代码植入项目,可扩展配置蓝牙相关操作。
  • litesuits android-lite-bluetoothLE LiteBle 能让你稳定高效的完成蓝牙设备的查询、连接和读写等操作。它适合和低功耗的蓝牙设备通信,比如传感器,心率检测仪,智能穿戴设备等。
  • Ficat EasyBle 用于简化安卓BLE操作流程,降低BLE开发繁琐程度。本库支持扫描(含自定义过滤条件扫描)、连接(包括设备多连接)、设备服务查询、读写数据(含分批写入)、读取设备信号、设置最大传输单元等BLE操作

序列化:

  • johncarl81 parcelerAndroid Parcelables通过代码生成变得容易

加密:

  • google tink Tink是一个多语言,跨平台的库,提供安全,易于正确使用和难以滥用的加密API。

常用类:

  • Xiaofei-it Hermes Hermes是一套新颖巧妙易用的Android进程间通信IPC框架。这个框架使得你不用了解IPC机制就可以进行进程间通信,像调用本地函数一样调用其他进程的函数
  • elemers HermesEventBus HermesEventBus是一个基于EventBus的、能在进程间发送和接收event的库,在IPC或者插件开发中非常有用。

热修复(HotFix)

  • Tencent https://github.com/Tencent/tinker/
  • alibaba https://github.com/alibaba/AndFix/
  • Meituan-Dianping Robust Robust是新一代热更新系统,无差别兼容Android2.3-8.0版本;无需重启补丁实时生效,快速修复线上问题,补丁修补成功率高达99.9%。
  • feelschaotic SDKHotFix 在用户规模千万级别的app中验证过,稳定无兼容问题,5分钟让你的SDK拥有热修复能力。

AOP

  • HujiangTechnology gradle_plugin_android_aspectjx 一个基于AspectJ并在此基础上扩展出来可应用于Android开发平台的AOP框架,可作用于java源码,class文件及jar包,同时支持kotlin的应用。
  • eleme lancet Lancet 是一个轻量级Android AOP框架。

代码工具类:

  • Blankj AndroidUtilCode 各种工具类,你能想到的工具类,基本都有了这个库
  • vondear RxTools Android开发人员不得不收集的工具类集合 | 支付宝支付 | 微信支付(统一下单) | 微信分享 | Zip4j压缩(支持分卷压缩与加密) | 一键集成UCrop选择圆形头像 | 一键集成二维码和条形码的扫描与生成 | 常用Dialog | WebView的封装可播放视频 | 仿斗鱼滑动验证码 | Toast封装 | 震动 | GPS | Location定位 | 图片缩放 | Exif 图片添加地理位置信息(经纬度) | 蛛网等级 | 颜色选择器 |
  • greenrobot essentials greenrobot出品,工具类
  • wenmingvs AndroidProcess 判断App位于前台或者后台的6种方法
  • Trinea android-common 主要包括:缓存(图片缓存、预取缓存、网络缓存)、公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、滑动一页Gallery)及Android常用工具类(网络、下载、Android资源操作、shell、文件、Json、随机数、Collection等等)。
  • yangfuhai afinal Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。
  • yangfuhai ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件。可以缓存普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 byte数据
  • lfkdsk JustWeTools 画图工具,代码编辑,文件管理器,进度条/环形进度条,绘制时钟,以及常用工具
  • litesuits android-common 其中包括 shell 命令,静默安装,bitmap 处理,文件操作,加密存储器,计数器,均值器,吐司,日志,校验,提示,网络监测等基础功能。 以及一些 Base64、MD5、Hex、Byte、Number、Dialog、Filed、Class、Package、Telephone、Random 等工具类。

混淆辅助工具:

  • Blankj FreeProGuard 该库利用了 consumerProguardFiles 来传递 aar 中的防混淆配置到主工程中,所以依赖了该库后常用的主流三方库便不再需要开发者们手动配置了
  • shwenzhang AndResGuard Android资源混淆工具

日志Log辅助类:

  • JakeWharton timber
  • orhanobut logger
  • Blankj ALog
  • JakeWharton hugo 调试版本的注释触发方法调用日志记录。
  • Meituan-Dianping Logan Logan 承载着各种日志的聚合、存储、分析,作为基础日志库,上传日志。

开发辅助工具类:

  • facebook stetho 可以通过浏览器,查看app的DB和Sp的内容 ,并且有配合Okhttp的拦截器,可以查看网络请求(抓包)
  • amitshekhariitbhu Android-Debug-Database 可以通过浏览器,查看app的DB和Sp的内容,挺好用的(AS3.0好像已经可以在工具内看DB了)
  • uber NullAway 一个有助于消除Java代码中的NullPointerException(NPE)的工具,具有较低的构建时间开销
  • yogkin LogUtil Android日志上传 使用服务通过HTTP或E-MAIL方式,压缩文件上传,支持加密
  • JZ-Darkal AndroidHttpCaptureAndroidHttpCapture网络诊断工具 是一款Android手机抓包软件 主要功能包括:手机端抓包、PING/DNS/TraceRoute诊断、抓包HAR数据上传分享。你也可以看成是Android版的"Fiddler"
  • Kyson AndroidGodEye AndroidGodEye是一个可以在PC浏览器中实时监控Android数据指标(比如性能指标,但是不局限于性能)的工具,你可以通过wifi/usb连接手机和pc,通过pc浏览器实时监控手机性能。
  • Godeyes Godeyes 用来检测代码中可能出去的crash隐患
  • google guetzli 貌似是一个图片压缩的工具
  • BolexLiu AutoEx 帮助Android开发者,让项目在崩溃时从异常堆栈中,自动寻找Stack Overflow的回答。
  • willowtreeapps Hyperion-Android 适用于Android的应用程序调试和检测工具
  • eleme UETool UETool 是一个各方人员(设计师、程序员、测试)都可以使用的UI调试工具。它可以作用于任何显示在屏幕上的 view,比如 Activity/Fragment/Dialog/PopupWindow 等等。
  • Sunzxyong Recovery 一个App异常时恢复框架
  • didi DoraemonKit DoraemonKit 是一个功能集合面板,能够让每一个 App 快速接入一些常用的或者你没有实现的一些辅助开发工具、测试效率工具、视觉辅助工具,而且能够完美在 Doraemon 面板中接入你已经实现的与业务紧密耦合的一些非通有的辅助工具,功能强大,接入方便,便于扩展。
  • zhengcx MethodTraceMan 用于快速找到高耗时方法,定位解决Android App卡顿问题。通过gradle plugin+ASM实现可配置范围的方法插桩来统计所有方法的耗时,并提供友好的界面展示,支持耗时筛选、线程筛选、方法名筛选等。

Android高端玩法:

  • alibaba ARouter一个安卓路由器中间件,帮助应用程序导航到活动和自定义服务。
  • android-hacker VirtualXposed VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~8.1)。
  • asLody VirtualApp VirtualApp在你的App内创建一个虚拟空间,你可以在虚拟空间内任意的安装、启动和卸载APK,这一切都与外部隔离,如同一个沙盒。
  • Leaking Hunter Hunter是这么一个框架,帮你快速开发插件,在编译过程中修改字节码,它底层基于ASM 和 Gradle Transform API 实现。在这个框架基础上,我尝试开发了几款实用的插件。你也可以用Hunter开发自己的插件,诸如实现App性能监控(UI,网络等等),加强或修改第三方库以满足你的需求,甚至可以加强、修改Android framework的接口。Hunter本身支持增量、并发编译,所以不用担心使用这一系列插件会增加编译时间。

开源的整体项目:

  • 1c7 chinese-independent-developer 中国独立开发者项目大集合
  • pockethub PocketHub
  • fanturbo Kanzhibo 聚集了斗鱼,熊猫,全民,虎牙和战旗5个平台的直播小助手
  • MindorksOpenSource android-mvp-architecture 这个库包含一个详细的示例应用程序,它使用Dagger2,GreenDao,RxJava2,FastAndroidNetworking和PlaceholderView实现MVP体系结构
  • Horrarndoo YiZhi MVP+RxJava2+Retrofit2+Glide+Rxbus,主要实现日报、新闻、干货、影视等资讯,个人项目
  • lovetuzitong MaterialBaiduImage基于MaterialDesign的百度图片浏览客户端
  • lovetuzitong android-GzLibrary这是广州图书馆的Android客户端实现项目
  • yangchong211 LifeHelper 综合案例训练,包含新闻,视频,图片,音乐,记事本等等模块。采用MVP+Rx+Retrofit+Desgin+Dagger2+阿里VLayout+腾讯X5等架构模式。很详细的开源项目,推荐
  • lguipeng Notes 一个极简的笔记app
  • daimajia AnimeTaste 全球动画精选
  • DuanJiaNing Musicoco 【我的音乐-Musicoco】 音乐播放器,功能:通过耳机和通知栏快捷控制音乐播放、创建歌单、本地歌曲搜索、记忆播放、自动切换到夜间模式、定时停止播放、应用主题自定义以及播放界面风格选择等功能。
  • ruzhan123 awaker 地理杂志阅读类Android App,项目采用 LiveData + Room + RXJava2 + Retrofit + OKHttp + Material Design + Base + Glide 构建
  • babylikebird owspace 高仿单读APP:owspace是基于MVP+Dagger2+Retrofit2.0+Rxjava的APP
  • LRH1993Eyepetizer-in-Kotlin 使用Kotlin撸一款Eyepetizer,学习Kotlin语言
  • miaoMiaoDaShi YangYanNew kotlin+MVPArms版本
  • yydcdut PhotoNoter Material Design风格的开源照片笔记。(MVP+Dagger2+RxJava+AspectJ+Dex处理)
  • youlookwhat CloudReader 云阅:一款基于网易云音乐UI,使用玩安卓、Gank.Io及豆瓣api开发的符合Google Material Design的Android客户端。项目采取的是MVVM-DataBinding架构开发,现主要包括:玩安卓区、干货区和豆瓣区三个子模块。
  • whyalwaysmea BigBoom 这是一个根据豆瓣电影API所做的电影资讯的App
  • Shouheng88 MarkNote markdown编辑工具

Demo类:

书籍类:

知识体系:

Android 知识汇总

开发指南:

刷题题库总结(LeetCodeLintCode):

打包:

  • Tencent VasDolly VasDolly是一种快速多渠道打包工具,同时支持基于V1签名和V2签名进行多渠道打包。

构建工具:

  • fastlane fastlane 自动构建和发布您的iOS和Android应用程序的最简单方法

调试相关:

  • hehonghui mockito-doc-zh
  • Tencent GT GT(随身调)是APP的随身调试平台,它是直接运行在手机上的“集成调试环境”

ADB相关

  • mzlogin awesome-adb 中文详细的介绍了,adb命令

反编译及脱壳工具类:

  • skylot jadx 反编译app的工具,只能说超牛
  • DrizzleRisk drizzleDumper 是一款基于内存搜索的Android脱壳工具。
  • WrBug dumpDex 一款Android脱壳工具,需要xposed支持

增量更新:

  • yale8848 EasyIncrementalUpdate Android差分补丁库,通过native层合并APK,实现增量更新升级,让你更新的APK更小。

组件化开发:

  • luckybillyCC 使用简单但功能强大的安卓组件化框架,此组件化与业内的插件化(如:Atlas, RePlugin等)不是同一个概念
  • wequick Small Small插件化方案适用于将一个APK拆分为多个公共库插件、业务模块插件的场景。

androidStudio插件:

  • githubwing MVPHelper 一款Intellj IDEA 和Android Studio 自动生成MVP模式所需接口以及实现类的插件。
  • lingochamp okcheck 差量扫描,自动集成Lint、KtLint、UnitTest、Checkstyle、Findbugs、Pmd 强大且灵活的Android Gradle插件

Android相关有趣的东西

  • Genymobile scrcpy 开源的投屏项目,知乎上的使用介绍(非常好用的投屏,不需要安装任何软件)
  • 电脑控手机屏幕软件 Total Control 电脑能控制手机,投屏手机屏幕(做Android开发的应该都用过Vysor投屏,但是免费版画质太低了),但这个免费版的画质和响应速度都比Vysor要好,满足日常使用了
  • Genymobile gnirehtet 手机通过这个项目,可以直接使用所连电脑的网络
  • MZCretin WifiTransfer-master Android下WIFI隔空apk安装

跨平台应用(android和ios)开发:

  • flutter flutter google开发的,基于Dart 语言开发(从网上讨论,蛮多人看好这个的,说比react-native更优)
  • facebook react-native facebook开发的,JS 结合 XML 开发
  • alibaba weex 阿里巴巴开发
  • NativeScript NativeScript NativeScript是一个用JavaScript构建真正的本地移动应用程序的开源框架。 使用网络技能,如Angular,FlexBox和CSS,并在iOS和Android上获取原生UI和性能。
  • framework7io framework7 全功能的HTML框架,用于构建iOS和Android应用程序
  • kivy kivy 用Python编写的开源UI框架,运行在Windows,Linux,macOS,Android和iOS上
  • dcloudio uni-app 开发者通过编写 Vue.js 代码,uni-app 将其编译到 iOS、Android、小程序、H5等多个平台,保证其正确运行并达到优秀体验。
  • didi chameleon 一套代码运行多端,一端所见即多端所见

flutter

  • wendux flutter实战 Flutter中文网社区作者写的flutter开发书籍
  • yubo725 flutter-osc 基于Google Flutter的开源中国客户端,支持Android和iOS。
  • flutter plugins 官方插件
  • OpenFlutter Flutter-Notebook 日更的FlutterDemo合集
  • alibaba flutter-go flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档

react-native

  • xujinyang react-native-android-guide 致力于帮助Android开发者转react-native开发。多点一个技能树,多一份天地。

在线API管理

  • swagger-api swagger-ui
  • thx RAP Web接口管理工具,开源免费,接口自动化,MOCK数据自动生成,自动化测试,企业级管理。阿里妈妈MUX团队出品!阿里巴巴都在用!2代已出,下面这个
  • thx rap2-delos 阿里妈妈前端团队出品的开源接口管理工具RAP第二代
  • APIJSON APIJSON 通过自动化API,前端可以定制任何数据、任何结构!大部分HTTP请求后端再也不用写接口了,更不用写文档了!

测试类:

  • alipay SoloPi Soloπ是一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间。

图床工具:

博客搭建:

  • barryclark jekyll-now fork过来更改下就是自己的博客了

About

一个记录开源项目,方便使用的库

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.