Android

Awesome Android

awesome Build Status PRs Welcome

About

精选Android精选清单 librariesresources . 对于一般的Java库,请看 awesome-java.

Understand How Your Android App is Doing with Real-Time Contextual Insights From Your Users

instabug-github > Instabug可帮助Android开发人员和产品团队轻松地收集来自Beta测试人员和用户的错误和反馈,以加快迭代速度并交付高质量的应用程序. Instabug会自动附加屏幕快照,设备详细信息,网络日志,再现步骤以及解决问题和确定产品待办事项优先级所需的大量其他关键见解. >移动团队通过与Github,Jira,Slack,Zendesk等第三方工具无缝集成来加速其工作流程. Instabug is offering Awesome Android community an exclusive 15% discount on all paid plans. Get Started!

How to Use

对于需要在应用程序上使用某些功能的人,Awesome-Android是一个了不起的清单,因此最好的使用方法是: -只需按Command + F即可搜索关键字 -浏览我们的内容菜单

Emulators

Libraries

Charts

Cloud Services

  • CloudRail -统一的API库,用于:云存储,社交资料,付款,电子邮件,SMS和POI.

Data binding

  • Anvil -受React启发而创建的反应式UI组件的小型库. 提供数据绑定和事件侦听器绑定,非常适合MVVM.
  • Data Binding Library -官方的Android数据绑定库,用于编写声明性布局,并最小化绑定应用程序逻辑和布局所需的粘合代码.

Dependency Injection

  • Dagger 2 -适用于Android和Java的快速依赖关系注入器.
  • Butter Knife -查看适用于Android的“注入”库.
  • ActivityStarter -Android库,提供了使用多个参数启动活动的更简单方法.
  • AndroidAnnotations -在编译时具有依赖项注入的Java批注.
  • Toothpick -基于范围树的Java依赖注入(DI)库.

Android Services

  • Remoter -使用纯Java接口的Android AIDL的替代品,用于Android远程IPC服务.
  • Service Connector -将Android服务和回调绑定到字段和方法.

Game Development

Security

  • libsignal-protocol-java -在同步和异步消息传递环境中工作的棘手向前保密协议.
  • Themis -用于简化典型加密方案的多语言框架:静态数据,经过身份验证的数据交换,传输保护,身份验证等.

GUI

  • Pull to refresh -v4支持库中提供了刷新刷新布局.
  • Cardslib -Android库以构建UI卡.
  • AndroidStaggeredGrid -网格视图,该视图支持具有不同大小的行的多列.
  • Flow -有助于将应用描述为中等独立屏幕的集合的库.
  • SortableTableView -一个Android库,其中包含一个简单的TableView和一个高级SortableTableView,提供了许多满足所有需求的自定义可能性.
  • MaterialProgressBar -具有一致外观的材料设计ProgressBar.
  • AndroidFillableLoaders -使用SVG路径的可填充进度视图. 创建有趣的应用程序徽标的不错选择.
  • NexusDialog -使您可以用很少的代码在Android中轻松快速地创建表单.
  • Snap RecyclerView Utils -在不创建适配器的情况下填充单个或多个Layout RecyclerView.
  • MultiSnapRecyclerView -Android库,用于多个RecyclerView的捕捉
  • SwipeableCard -实现像StreetView一样的刷卡功能!!
  • ElasticProgressBar -美丽的加载栏.
  • EntryScreenManager -简介/条目/演练/开始屏幕.
  • EasyIntro -为您的Android项目提供了一个灵活,易于使用的全功能应用程序简介库.
  • Material-Calendar-View -与API 8+兼容的材料设计日历
  • CrunchyCalendar -具有无限滚动,日期范围选择和颜色自定义功能的素材日历小部件.
  • SmoothOverscrollableScrollView -小自定义视图,具有平滑的过度滚动. 您可以添加带有刻度背景的标题
  • SectionedRecyclerViewAdapter -允许RecyclerView分为带有页眉和/或页脚的节的适配器.
  • DragListView -拖放以重新排列列表,网格或面板中的项目.
  • Animated Expanding ListView -动画扩展ListView在扩展或折叠listview项的内容时提供精美的动画.
  • TastyToast -带有图标和颜色的吐司.
  • DotLoader -带有点的可自定义加载动画.
  • PodSlider -遵循材料设计规范的可自定义滑块小部件.
  • TapTargetView -从“材料设计”指南中发现特征的抽头目标的实现.
  • ShowCaseView -ShowcaseView库旨在以引人注目的且平坦的叠加层向用户突出显示应用的特定部分.
  • MaterialIntroScreen -通过易于扩展的API实现材料介绍屏幕.
  • FloatingView - FloatingView can make the target view floating above the anchor view with cool animation.
  • Timecon -易于使用的动画时钟图标
  • Audiogram -轻巧的音波进度条
  • Bubbles for Android -Facebook像聊天气泡库
  • Litho (By Facebook) -用于在Android上构建有效UI的声明性框架.
  • MultiViewAdapter -Recyclerview适配器库可创建可组合的视图持有人.
  • LGSnackbar -原生Android Snackbar的易于使用和可自定义的包装,可在多个活动中保持可见.
  • ShimmerLayout -适用于Android应用程序的高效内存闪烁效果.
  • CircleProgressBar -一个简单的库,用于为Android创建循环进度条.
  • Easy-Signature-Android -一个简单的ui库,提供可插入的签名视图.
  • Flashbar -高度可定制,功能强大且易于使用的Android警报库.
  • YuanaItemSettingView -适用于Android的可自定义项目设置视图.
  • Gradients -精选的出色渐变收藏.
  • OneAdapter -具有多个模块和挂钩的RecyclerView适配器,可简化和增强使用,同时防止常见错误.

Paginate

ActionBar

Animations

Images

  • Crescento -通过在图像视图下方添加曲线来探索材料设计中的新样式.
  • android-crop - Library project for cropping images.
  • CircularImageView -圆形图像的自定义视图,同时保持最佳的绘制性能.
  • Android-Image-Filter -用于轻松应用图像滤镜的图书馆项目.
  • Compressor -Compressor是一个轻巧而强大的android图像压缩库.
  • ShapeImageView -可以显示不同形状的图像的库.

Inputs

  • FloatingLabel -FloatingLabel允许您创建打击类的EditText. *没有Gradle或Maven支持.
  • MaterialEditText -支持浮动标签,单行省略号,最大/最小字符,辅助文本和带有自定义颜色的错误文本.
  • EmojiCompat -将表情符号添加到您的应用
  • MaterialSearchBar -Android的Material Design搜索栏
  • InputMask -基于模式的用户输入格式化程序,解析器和验证器.
  • SweetPassword -密码EditText,允许自定义切换按钮
  • VoiceOverlay -一种覆盖层,可获取用户的语音权限并在可自定义的UI中以文本形式输入.

View Pagers

Loading Images

  • Picasso -适用于Android的功能强大的图像下载和缓存库.
  • Universal Image Loader -异步,开箱即用地加载和缓存图像.
  • Glide -Google推荐的Android图像加载和缓存库,着重于平滑滚动.
  • Fresco -用于管理图像及其使用的内存的Android库.
  • Glide Bitmap Pool -Glide位图池是用于重用位图内存的内存管理库.
  • Coil -由Kotlin Coroutines支持的Android图像加载.

Media Picker

  • MediaPicker -Android库,可让您为Android选择多个图像,视频或语音
  • Android Image Picker -一个使从图库中选择图像和视频的库很容易. 它还支持GIF和简单的相机动作

Video

  • ijkplayer -基于FFmpeg n3.2的Android / iOS视频播放器,带有MediaCodec,VideoToolbox支持.
  • Exoplayer -ExoPlayer是适用于Android的应用程序级媒体播放器,允许在本地和Internet上播放音频和视频. 支持诸如HTTP上的动态自适应流(DASH),SmoothStreaming和通用加密等功能
  • VideoPlayView -具有视频播放器,播放/停止,加载程序和占位符图像的自定义Android视图.

Camera

  • MagicalCamera -拍摄或选择画廊照片的简单方法,以及用于管理照片的其他功能.
  • Camera -使用基于camera2 API的Android相机拍摄照片和视频.

Field Validation

  • Convalida -一种简单且基于注释的方式来验证输入字段.

JSON

  • Gson -Gson是一个Java库,用于将Java对象从JSON序列化和反序列化.
  • Jackson JSON Processor -高性能JSON处理器.
  • Moshi -适用于Android和Java的现代JSON库.

Crash monitoring

  • Fabric Crashlytics -简单的崩溃报告解决方案.
  • HockeyApp -分发,崩溃报告,反馈和分析
  • Splunk MINT -监控,崩溃报告,实时数据,统计.
  • Bugsnag -跨平台错误监控. 免费套餐. 支持SDK和NDK. 错误报告包括有关设备,发行版,用户的数据,并允许任意数据.
  • Catcho -不再强制关闭.
  • Apteligent -跨平台崩溃报告/分析解决方案. 支持NDK日志.
  • Instabug -错误报告,崩溃报告,应用内反馈.

Networking

  • Ion -良好的android网络库.
  • OkHttp -适用于Android和Java应用程序的HTTP + SPDY客户端.
  • RoboSpice -使编写异步网络请求变得容易的库.
  • IceNet -适用于Android的快速,简单易用的网络
  • Android Volley -官方的Android HTTP库,可以更轻松,更快地进行联网.
  • IceSoap -适用于Android的简单,异步,基于注释的SOAP.
  • node-android -在Android上运行Node.js.
  • HappyDns -一个Dns库,用户可以使用自定义dns服务器dnspod httpdns. 仅支持A记录.
  • RESTMock -HTTP Web服务器,用于在Android Instrumentation测试中模拟API响应.
  • Fast-Android-Networking -完整的快速Android网络库,也支持HTTP / 2.

Logger

  • logger -简单,漂亮,功能强大的Android记录器
  • timber -具有小型可扩展API的记录器,该记录器可在Android常规Log类之上提供实用程序.
  • LoggingInterceptor -OkHttp拦截器,用于记录请求和响应数据.
  • Bugfender -上传您的日志并在线检查(专门为移动设备制作)
  • EzyLogger -简单的轻量级记录器
  • Logback Android -Android的Logback端口,可为Android应用程序提供高度可配置的日志记录框架.

Notifications

Database

  • Cupboard -通过直接数据库访问或通过ContentProvider框架轻松访问sqlite.
  • DbInspector -提供一种简单的方法来查看应用内数据库的内容以进行调试.
  • SQLite Asset Helper -使用应用程序的原始资产文件管理数据库创建和版本管理.
  • Realm -SQLite和ORM的替代品:简单,现代和快速! 面向对象的API和多平台支持.
  • Realm Asset Helper -从apk资产文件夹中复制领域数据库. 有效地处理只读领域数据库的版本控制.
  • RestorableSQLiteDatabase -具有恢复功能的可复制android的SQLiteDatabase的包装器.
  • Nitrite Database -带有API的MongoDb的Android NoSQL嵌入式文档存储.

ORM

  • requery -编译Java和Android的ORM和SQL查询库.
  • GreenDAO -轻快的ORM解决方案.
  • ORMLite -用于JDBC和Android的轻量级ORM Java软件包.
  • ActiveAndroid -活动记录样式ORM.
  • Sugar ORM -使用Android数据库的极其简单的方法.
  • DBFlow -具有编译时注释处理的快速强大的ORM.
  • NexusData -适用于Android的对象图和持久性框架.
  • SimpleNoSQL -适用于Android的简单NoSQL客户端. 意味着使用键/值对和一些基本查询的文档存储. 有助于避免SQL代码的麻烦.
  • RxSimpleNoSQL -SimpleNoSQL的反应性扩展. 使用Observables操纵实体.

REST

Testing

  • Robotium -用于黑盒UI测试的测试自动化框架.
  • Roboletric -单元测试框架,用于在工作站(而不是仿真器)的JVM内运行测试.
  • AssertJ Android -针对Android的AssertJ断言.
  • Green Coffee -在您的Android工具测试中运行Cucumber测试.

Tracking

  • MobileAppTracking -跨多个广告网络跟踪您的营销活动.
  • Mixpanel -分析平台,用于分析用户.
  • Countly -基于Node.js,MongoDB和Linux的开源移动和Web分析,推送通知和崩溃报告平台.
  • CleverTap -具有100万个免费事件的分析平台和用户互动平台

Maps

  • Google-Directions-Android -允许您计算两个位置之间的方向,并使用Google Directions API在Google Map上显示路线.
  • Android Maps Extensions -扩展了Google Maps Android API v2的功能,添加了标记聚类等功能
  • MapScaleView -Google Maps Android API的比例尺
  • GLMap -具有MapCSS样式的跨平台离线矢量地图. 包括离线搜索和离线导航.

Utility

  • Conceal SharedPreferences -使用称为“隐蔽”的Facebook安全加密的安全首选项.
  • EventBus -EventBus是一个库,可简化应用程序不同部分之间的通信.
  • Otto -Android的事件总线.
  • Weak handler -android.os.Handler的内存安全实现.
  • Byte Buddy -支持Android的运行时代码生成库.
  • Secure Preference Manager -适用于Android的安全首选项管理器. 它使用各种加密来保护应用程序的共享首选项.
  • LeakCanary -捕获发生的内存泄漏.
  • Drekkar -用于WebView和JS的Android事件总线.
  • Androl4b -用于评估android应用程序的虚拟机.
  • DroidMVP -Android库可帮助您将MVP以及Passive View和Presentation Model模式结合到您的应用中.
  • EasyDeviceInfo -以超级简单的方式获取设备信息.
  • Shutter-Android -从设备相机捕获照片/视频,或从图库应用获取照片/视频,无需运行时权限.
  • Validator -一个实用程序类,用于验证TextInputLayout中的文本.
  • Keyboard Visibility Event -用于处理软键盘可见性更改事件的DSL.
  • TimeIt -一款用于Android的秒表库,可轻松在一个应用中启动,暂停,显示和维护多个秒表.
  • Reactor -Reactor是适用于Android的快速且安全的键值库.

Debugging Tools

  • Linx -在设备内部显示logcat以进行调试
  • Scalpel -在手机中以3D模式查看整个层次结构.
  • Stetho -从Chrome调试层次结构和网络.
  • Android Debug Database -Android调试数据库是一个功能强大的库,用于调试Android应用程序中的数据库和共享首选项.
  • Android Debug Bridge - ADB -一个命令行工具,可帮助调试Android驱动的设备
  • ADB Enhanced -针对开发人员的ADB命令行包装程序,因此,开发人员不必记住深奥的版本相关命令
  • Pidcat -彩色命令行ADB包装器,仅显示特定应用程序包的日志条目
  • AppSpector -远程Android和iOS调试和数据收集服务. 您可以调试网络,日志,SQLite和模拟设备的地理位置.

Wireless

  • SmartGattLib -简化了Bluetooth SMART设备(在Bluetooth 4.0中又称为Bluetooth Low Energy)的工作.

Chat & Messaging

  • Applozic Android Chat SDK -Android聊天和消息传递SDK,用于向您的android应用程序添加实时聊天和应用内消息传递.
  • Qiscus SDK -Qiscus SDK是轻量级且功能强大的android聊天库. 使用Qiscus SDK,您可以轻松地将Qiscus引擎与您的应用程序集成在一起,以创建很酷的聊天应用程序.
  • Kommunicate Live Chat SDK -Kommunicate在android中提供了开源的实时聊天SDK. Kommunicate允许您在移动(Android,iOS)应用程序和网站中添加实时实时聊天和应用内消息传递,以获取客户支持.
  • CometChat Voice, Video and Text Chat SDK with UI -使用CometChat在几分钟内将语音,视频和文本聊天添加到您的应用程序(和网站). CometChat的SDK包含完整的现成UI,因此您无需花费任何时间来构建一个! 不仅如此,CometChat还提供了对实时翻译,白板,屏幕共享,朋友同步,基于角色的访问控制,积分减免等方面的现成支持.
  • Build a one-on-one Android chat app using Kotlin -使用CometChat Pro在几分钟内在Kotlin中建立一个一对一的Android聊天应用程序. 本教程讨论了诸如登录,获取联系人列表,用户状态指示器,发送/接收消息等功能.
  • Stream Chat -全面的SDK和用于实时聊天的组件,由提供支持 Stream.
  • Add Push Notifications to Your Android Chat App Using Kotlin -在CometChat Pro和Firebase Cloud Messaging(FCM)的帮助下,在Kotlin的Android聊天应用程序中添加推送通知.

Custom Dialog

  • MediaRecorderDialog -自定义对话框,用于录制音频,将其存储并在手机中播放.
  • HijriDatePicker -提供了一个hijri(伊斯兰日历)日期选择器,该日期选择器是根据Google的“材料设计负责人”使用的.
  • Noty -一个用于创建动画警报/对话框/警告的简单库.

Version Checking

  • AppUpdater -全面且功能丰富的库,包括对Amazon和FDroid的检查的支持.
  • Gandalf -全面的功能和“同伴” iOS解决方案.
  • Siren -聚焦功能集,可以模仿流行的同名iOS库. 支持Play和Amazon.
  • Fit -没有UI的版本检查回调框架.

Date & Time

Runtime Permissions

  • Permission Dispatcher -简单的基于注释的API来处理运行时权限.
  • RxPermissions -由RxJava驱动的Android运行时权限.
  • NoPermission -用于权限请求的简单Android库. 仅由一类组成.
  • Ask-Permission -简单的运行时权限管理器.
  • Gota -简化Android权限.
  • EasyPermissions -EasyPermissions是一个包装器库,用于简化针对Android M或更高版本的基本系统权限逻辑.

Payments

Other

  • Android Support library -Android支持库程序包是一组代码库,提供了向后兼容的Android框架API版本.
  • Google Play Services -用于访问Google服务的库,例如帐户同步,Google +(共享,单点登录),Google Maps,Location API,Google Play游戏,Cloud Messaging,Android Device Manager等.
  • Tape -适用于Android和Java的快速,基于事务的基于文件的FIFO.
  • Guava: Google Core Libraries for Java -集合,缓存,原语支持,并发库,通用批注,字符串处理,I / O等.
  • Android Scripting -允许在Android上运行脚本语言.
  • Android Priority Job Queue -实施作业队列,以轻松安排在后台运行的作业(任务),从而提高用户体验和应用程序的稳定性.
  • RateMeMaybe -询问用户是否要开设Play商店以对您的应用程序进行评分.
  • Easy Rating Dialog -Lib提供了一种简单的方法来显示评级应用程序的警报对话框.
  • ZXing Android-Integration -通过Intent与条形码扫描仪集成.
  • Gradle Retrolambda Plugin -Android上的Java 8 Lambdas!
  • RxJava-RxJava – JVM的Reactive Extensions –一个库,用于使用Java VM的可观察序列组成异步和基于事件的程序.
  • RxAndroid -添加了最小的RxJava绑定,以便轻松编写反应式Android Java代码.
  • RxBinding-RxBinding –用于平台和支持库中的Android UI小部件的RxJava绑定API.
  • Caffeine -实用程序类的集合,这些类有助于使Android开发更快.
  • AboutLibraries -自动生成“关于此应用程序”部分,其中包含已用库的列表.
  • AudioPlayerView -从网址加载音频并具有基本播放工具的视图.
  • andle -命令行工具可帮助您同步依赖项,SDK或构建工具版本.
  • Typography -一个Android库,可轻松在视图中使用自定义字体.
  • Calligraphy -可以在Android中自定义字体.
  • transai -命令行工具可帮助您管理本地化字符串文件.
  • Android-Link-Preview -它从URL进行预览,获取所有信息,例如标题,相关文本和图像.
  • Sensey -快速检测手势.
  • UserAwareVideoView -如果用户未查看设备屏幕,将自动暂停视频的自定义视频视图!
  • Flexbox Layout -FlexboxLayout是一个库,可将CSS灵活框布局模块的相似功能引入Android.
  • Agile Boiler Plate -样板基于MVP架构,并且完全基于使用Dagger2的依赖注入设计模式.
  • Gradle buildSrcVersions -Kotlin DSL简化依赖关系管理
  • Teller -Teller有助于下载,保存和读取应用程序的缓存数据. 保持用户数据的最新状态,并删除那些烦人的加载屏幕!

Resources

Code examples

Podcasts

  • Fragmented 是Android开发者播客,Donn Felker和Kaushik Gopal讨论了如何构建出色的软件并成为更好的Android开发者.
  • Android Developers Backstage 是Android开发人员的播客. 该节目由Android工程团队的开发人员主持,涵盖了Android程序员感兴趣的主题,并与Google Android团队的工程师进行了深入的讨论和访谈.
  • Android Dialogs 是一个基于视频的播客,他们与Android社区的人们进行了一口大小的对话.
  • The Context 与Hannes Dorfmann,Artem Zinnatullin和出色的嘉宾一起关于Android开发的播客!
  • Talking Kotlin -关于Kotlin的播客等等.
  • Android Authority 是由Android Authority团队的Adam Doud,Joe Hindy和Jonathan Feist主持的每周一次的Android播客.
  • Android Central -由Android Central小组主持的每周一次的Android播客.

More lists of libraries

Development Alternatives

我个人的建议是(暂时)使用android api来构建本机应用程序. Scala可以使用更简洁的代码帮助构建本机应用程序,但它增加了许多方法(需要使用Multidex). Kotlin是一种现代语言,与Java项目无需multidex 具有100%的互操作性. 但是在某些用例中,跨平台开发等替代方案可能会有用.

C#

  • Xamarin - Framework to create native iOS, Android, Mac and Windows apps in C#.

HTML, CSS and Javascript

  • PhoneGap -Adobe的开源框架,可使用HTML,CSS和JavaScript创建跨平台的移动应用程序.
  • Titanium -使用JavaScript创建“本机”跨平台应用程序的开源框架.
  • NativeScript -一个开放源代码框架,可通过一个代码库使用JavaScript构建本机iOS和Android应用程序.
  • React Native -使用Facebook的React构建本机应用程序的框架.
  • Ionic Framework -一个框架,可通过AngularJS使用针对移动设备优化的HTML,CSS和JS构建混合应用程序.
  • Apache Cordova -基于Cordova的应用程序是以Web技术编写的应用程序的核心:HTML,CSS和JavaScript.
  • Capacitor -为iOS,Android和网络构建跨平台的Native Progressive Web Apps. 非常有前途的科尔多瓦替代品.

Lua

  • Corona SDK -用于创建本机iOS和Android应用程序(尤其是游戏)的框架.

Scala

  • Scaloid -使用Scala减轻Android开发痛苦的库.
  • Macroid -适用于Android的模块化功能性UI语言.

Groovy

Kotlin

  • Anko -由JetBrains用Kotlin编写的Android DSL.
  • Kotterknife - Android view injection written in Kotlin based on ButterKnife
  • Android Kotlin Samples -一些用Kotlin编写的基本Android代码示例.
  • Kotlin coding puzzles -一组编程挑战,这有助于提高白板编码和解决问题的能力.
  • KAndroid -轻量级库提供有用的扩展,以消除Android SDK中的样板代码.
  • RxKotlin/Pocket -这个程序可以帮助用户轻松保存链接,并且可以每周导出到Evernote.
  • Android Clean Architecture - Kotlin -一个基础项目,该项目使用Bob叔叔的干净架构,Kotlin语言和最新的Android技术.
  • Koin -Kotlin的轻量级依赖注入框架

Flutter

  • Flutter -Google的移动应用SDK,可在非常短的时间内为Android和iOS提供高质量的本机界面.

Performance

Other Awesome Lists

其他惊人的清单也可以在 awesome-awesomeness 清单.

Contributing

永远欢迎您的贡献! 请阅读 contribution guidelines 第一.