UltimateAndroidReference:Android参考大全

“这个项目的目的是提供一个精选的Android库,工具,开源项目,博客,教程的合集。只分享最好最热门,经过严格测试的资源,而不是从包含众多低质量资料的杂脍中海选。“

项目地址:https://github.com/aritraroy/UltimateAndroidReference 。

本文只是拷贝了当前的内容,最新版本请到项目主页查看。

Libraries

These are some of the best and the most popular libraries and utilities to boost up your Android development. This list is divided into several essential categories and only includes resources which have been battle-tested by a variety of developers over a long time.

Animations

  • AndroidViewAnimations - Cute view animation collection

  • Backboard - A motion-driven animation framework for Android

  • Bubble-Picker - An easy-to-use animation which can be used for content picking for Android

  • ExpectAnim - Describe your animation and run

  • Grav - Configurable animations based on points

  • Lottie - Render After Effects animations natively on Android and iOS

  • Rebound - A Java library that models spring dynamics and adds real world physics to your app

  • Spruce - Spruce Animation Library

  • ViewAnimator - A fluent Android animation library

Background Processing

  • Android Priority Job Queue - A Job Queue specifically written for Android to easily schedule jobs (tasks) that run in the background, improving UX and application stability

  • Evernote Android Job - Android library to handle jobs in the background

  • Firebase Job Dispatcher - The Firebase JobDispatcher is a library for scheduling background jobs in your Android app. It provides a JobScheduler-compatible API that works on all recent versions of Android (API level 9+) that have Google Play services installed

Charts

  • EazeGraph - An Android chart and graph library

  • HelloCharts - Charts/graphs library for Android compatible with API 8+, several chart types with support for scaling, scrolling and animations

  • MPAndroidChart - A powerful Android chart view / graph view library, supporting line-bar-pie-radar-bubble-and candlestick charts as well as scaling, dragging and animations

  • Spark - A simple Android sparkline chart view

  • WilliamChart - Android library to create charts

Crash Reporting & Tracking

  • Bugsee - Flight recorder for your iOS and Android apps

  • Bugsnag - Monitor application errors to improve customer experiences and code quality

  • CleverTap - A complete tool to track and analyze user activity in your Android app

  • Countly - End-to-end platform for web, mobile applications and game analytics

  • Fabric Crash Analytics - Fabric is a platform that helps your mobile team build better apps, understand your users, and grow your business

  • HockeyApp - Bring Mobile DevOps to your apps with beta distribution, crash reporting, user metrics, feedback, and powerful workflow integrations.

  • MixPanel - Deeply understand every user's journey with instant insights for everyone on mobile and web

  • InstaBug - The top apps in the world rely on Instabug for beta testing, user engagement and crash reporting. Gather feedback from your beta testers and have live conversations with your users

Debugging

  • Android Debug Database - A library for debugging Android databases and shared preferences

  • Android Performance Monitor - A transparent ui-block detection library for Android (known as BlockCanary)

  • Chuck - An in-app HTTP inspector for Android OkHttp clients

  • Debug Drawer - Android Debug Drawer for faster development

  • LeakCanary - A memory leak detection library for Android and Java

  • Stetho - Stetho is a debug bridge for Android applications, enabling the powerful Chrome Developer Tools and much more

  • Takt - Takt is Android library for measuring the FPS using Choreographer

Dependency Injection

  • Butterknife - Bind Android views and callbacks to fields and methods

  • Dagger - A fast dependency injector for Android and Java

  • Dagger 2 - A fast dependency injector for Android and Java

  • Dart - Extras "injection" library for Android

Image Loading

  • Android Universal Image Loader - Powerful and flexible library for loading, caching and displaying images on Android

  • Fresco - An Android library for managing images and the memory they use

  • Glide - An image loading and caching library for Android focused on smooth scrolling

  • Picasso - A powerful image downloading and caching library for Android

Image Processing

  • Android GPU Image - Android filters based on OpenGL (idea from GPUImage for iOS)

  • Fresco Processors - An Android image processor library providing a variety of image transformations for Fresco

  • Glide Face Detection Transformation - An Android image transformation library providing cropping above Face Detection (Face Centering) for Glide

  • Glide Transformations - An Android transformation library providing a variety of image transformations for Glide

  • PhotoFiltersSDK - AndroidPhotoFilters aims to provide fast, powerful and flexible image processing instrument for creating awesome effects on any image media

  • Picasso Face Detection Transformation - An Android image transformation library providing cropping above Face Detection (Face Centering) for Picasso

  • Picasso Transformations - An Android transformation library providing a variety of image transformations for Picasso

  • Pollexor - An Android library, that can download unencrypted and encrypted images, crop, resize, apply filters and convert to another format.

Logging

  • Hugo - Annotation-triggered method call logging for your debug builds

  • Logger - Simple, pretty and powerful logger for Android

  • LoggingInterceptor - An OkHttp interceptor which pretty logs request and response data

  • Timber - A logger with a small, extensible API which provides utility on top of Android's normal Log class

Networking

  • Bridge - A simple but powerful HTTP networking library for Java. It features a Fluent chainable API, powered by Java URLConnection classes for maximum compatibility and speed

  • Fast Android Networking - A Complete Fast Android Networking Library that also supports HTTP/2

  • Ion - Android Asynchronous Networking and Image Loading

  • OkHttp - An HTTP+HTTP/2 client for Android and Java applications

  • Retrofit - Retrofit turns your REST API into a Java interface

  • Volley - Volley is an HTTP library that makes networking for Android apps easier and most importantly, faster

Persistence

  • ActiveAndroid - Active record style SQLite persistence for Android

  • DBFLow - A blazing fast, powerful, and very simple ORM Android database library that writes database code for you

  • Firebase Realtime Database - Store and sync data with our NoSQL cloud database. Data is synced across all clients in realtime, and remains available when your app goes offline

  • greenDAO - greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases

  • Paper - Fast and simple data storage library for Android

  • Realm - Realm is a mobile database: a replacement for SQLite & ORMs

  • RxCache - Reactive caching library for Android and Java

  • StorIO - Beautiful API for SQLiteDatabase and ContentResolver

  • SQL Brite - A lightweight wrapper around SQLiteOpenHelper which introduces reactive stream semantics to SQL operations

Testing

  • AssertJ - AssertJ is a library providing easy to use rich typed assertions

  • AssertJ Android - A set of AssertJ helpers geared toward testing Android

  • Calabash - Automated Functional testing for Android based on cucumber

  • Espresso - Write easy, simple and human-readable UI tests on Android

  • Hamcrest - Java (and original) version of Hamcrest

  • JaCoCo - JaCoCo - Java Code Coverage Library

  • JUnit4 - A programmer-oriented testing framework for Java

  • Mockito - Most popular Mocking framework for unit tests written in Java

  • Robolectric - Android Unit Testing Framework

  • Robotium - Android UI Testing

  • Truth - Assertion/Proposition framework for Java unit tests

UI Components

  • AdaptiveTableLayout - Library that makes it possible to read, edit and write CSV files

  • Android SpinKit - Android loading animations

  • BlurKit Android - The missing Android blurring library. Fast blur-behind layout that parallels iOS

  • BottomSheet - Android component which presents a dismissible view from the bottom of the screen

  • Cafebar - An upgraded Snackbar for Android that provides more options and easy to use

  • CircleImageView - A circular ImageView for Android

  • DiagonalLayout - With Diagonal Layout explore new styles and approaches on material design

  • DialogPlus - Advanced dialog solution for Android

  • Epoxy - Epoxy is an Android library for building complex screens in a RecyclerView

  • Litho - A declarative framework for building efficient UIs on Android

  • Material Dialogs - A beautiful, fluid, and customizable dialogs API

  • Material Drawer - The flexible, easy to use, all in one drawer library for your Android project

  • Material Search View - Cute library to implement SearchView in a Material Design Approach

  • PhotoView - Implementation of ImageView for Android that supports zooming, by various touch gestures

  • Subsampling Scale ImageView - Highly configurable, easily extendable view with pan and zoom gestures for displaying huge images without loss of detail. Perfect for photo galleries, maps, building plans etc

  • TapTargetView - An implementation of tap targets from the Material Design guidelines for feature discovery

  • Toasty - The usual Toast, but with steroids

Utilities

  • Android Crop - Android library project for cropping images

  • AndroidUtilCode - Android developers should collect the following utils(updating)

  • Android Annotations - Fast Android Development. Easy maintainance

  • Android Saripaar - UI form validation library for Android

  • Android Weak Handler - Memory safer implementation of android.os.Handler

  • Ason - JSON in Java made easy! Catch less exceptions, serialize/deserialize with ease, plus some other useful tricks and conveniences

  • ByteBuddy - Byte Buddy is a code generation and manipulation library for creating and modifying Java classes during the runtime of a Java application

  • Calligraphy - Custom fonts in Android the easy way

  • DeepLinkDispatch - A simple, annotation-based library for making deep link handling better on Android

  • EasyDeviceInfo - Get device information in a super easy way

  • Easy Permissions - Simplify Android M system permissions

  • Gson -  A Java serialization/deserialization library to convert Java Objects into JSON and back

  • Guava - Google Core Libraries for Java

  • IcePick - Android Instance State made easy

  • LibPhoneNumber - Google's common Java, C++ and JavaScript library for parsing, formatting, and validating international phone numbers

  • Moshi - A modern JSON library for Android and Java.

  • Parceler - Android Parcelables made easy through code generation

  • PermissionsDispatcher - Simple annotation-based API to handle runtime permissions

  • Reprint - A unified fingerprint library for Android

  • Secure Preferences - Android Shared preference wrapper than encrypts the values of Shared Preferences

  • Sensey - Detecting gestures in a snap

  • uCrop - Image Cropping Library for Android

Utilities (Advanced)

  • EventBus - Android optimized event bus that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality

  • RetroLambda - A Gradle plugin for getting Java lambda support in Java 6, 7 and android

  • RxAndroid – This module adds the minimum classes to RxJava that make writing reactive components in Android applications easy and hassle-free. More specifically, it provides a Scheduler that schedules on the main thread or any given Looper.

  • RxBinding - RxJava binding APIs for Android's UI widgets

  • RxJava - RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM

Open-Source Apps

There are lots of open-source apps available in the Android community for developers to learn from, but it becomes very difficult to find the ones which are actually worth your time and can help you learn a lot of things. This list (loosely categorized on the basis of your Androdi skills) can help you find the resource you always wanted.

Beginner

  • KISS - Lightning fast, open-source, < 200kb Android launcher

  • Materialize - Materialize all those not material

  • MinimalTodo - Material To-Do App

  • PhotoAffix - Stitch your photos together vertically or horizontally easily!

  • Simple Gallery - A gallery for viewing photos and videos without ads

  • SoundRecorder - A simple sound recording app implementing Material Design

Intermediate

  • ClipStack - A tiny clipboard history manager app

  • EverMemo - Fast Record,Organize,and Share. The Android memo app you will deeply love

  • Google I/O App - The Google I/O 2016 Android App

  • InstaMaterial - Implementation of Instagram with Material Design (originally based on Emmanuel Pacamalan's concept)

  • LeafPic - LeafPic is an ad-free, open-source and material-designed Android gallery alternative

  • MLManager - A modern, easy and customizable app manager for Android with Material Design

  • MovieGuide - Movie discovery app showcasing MVP, RxJava, Dagger 2 and Clean Architecture. Popcorn?

  • Narrate - Narrate is a beautiful and functional open source journal for Android

  • Plaid - An Android app which provides design news & inspiration as well as being an example of implementing material design

  • Turbo Editor - Simple and powerful File Editor for Android

  • ToolWizAppLock - Smart App Lock for Android

  • WeGit - An Android App for Github

Expert

  • AmazeFileManager - Amaze File Manager source code

  • AntennaPod - A podcast manager for Android

  • CoCoin - CoCoin, Multi-view Accounting Application

  • Kickstarter - Kickstarter for Android. Bring new ideas to life, anywhere

  • LibreTorrent - Free as in Freedom torrent client for Android

  • MusicDNA - A Music Player for Android that renders beautiful DNA(Visualization) of the currently playing music

  • Muzei Wallpaper - Muzei Live Wallpaper for Android

  • OmniNotes - Open source note-taking application for Android

  • QkSms - The most beautiful SMS messenger app for Android

  • RedReader - An unofficial open source Reddit client for Android

  • Signal - A private messenger for Android

  • SuperCleanMaster - CleanMaster like open-source app

  • Talon for Twitter - 100% open source version of my popular Talon for Twitter app on Android

  • Telegram - Telegram for Android source

  • Timber - Material Design Music Player

Tools

"A craftsman is only as good as his tools" - to level up your Android development workflow you need to have the right tools always ready in your toolbox. This list is here to provide you with hand-picked tools to significantly improve your Android development life.

Free

  • ADB IDEA - A plugin for Android Studio and Intellij IDEA that speeds up your day to day Android development

  • Android Asset Studio - A collection of tools to easily generate assets such as launcher icons for your Android app

  • Android Tool for Mac - One-click screenshots, video recordings, app installation for iOS and Android

  • Android Wifi ADB - IntelliJ/AndroidStudio plugin which provides a button to connect your Android device over WiFi to install, run and debug your applications without a USB connected

  • APK DeGuard - DeGuard reverses the process of obfuscation performed by Android obfuscation tools. This enables numerous security analyses, including code inspection and predicting libraries

  • Battery Historian - Battery Historian is a tool to analyze battery consumers using Android "bugreport" files

  • Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages

  • Butterknife Zelezny - Android Studio plug-in for generating ButterKnife injections from selected layout XML

  • CheckStyle IDEA - This plugin provides both real-time and on-demand scanning of Java files with CheckStyle from within IDEA

  • ClassyShark - Android executables browser

  • CodeGlance - Embeds a code minimap similar to the one found in Sublime into the editor pane. Works with both light and dark themes using your customized colors for syntax highlighting

  • Codota - Supercharge your development workflow by getting great code examples directly in your IDE. The Codota plugin for IntelliJ lets you quickly find the best code examples for every API class or method

  • Dagger IntelliJ Plugin - An IntelliJ IDEA plugin for Dagger which provides insight into how injections and providers are used

  • DevKnox - Autocorrect Security Issues As You Write Code

  • Dex Count Gradle Plugin - A Gradle plugin to report the number of method references in your APK on every build

  • Dex Method Counts - Command-line tool to count per-package methods in Android .dex files

  • DTO Generator - Data Transfer Object(DTO) generator that generates Java classes from the given feed

  • DPI Love - Get accurate DPI information on a wide range of Android devices

  • Drawable Optimizer - Gradle plugin to optimize png files and reduce resultant apk size within an Android project

  • Dry Run - Try any Android library hosted online directly from the command line

  • FindBugs - Powerful static code analysis tool for Java and Android

  • FlatIcon - The largest database of free icons available in PNG, SVG, EPS, PSD and BASE 64 formats

  • Gradle Please - Quick and easy way to build Gradle based libraries in Android

  • Infer - A static analyzer for Java, C, C++, and Objective-C

  • JSONBlob - JSON Blob is a web-based tool to create, edit, view, format, and share JSON

  • JSONSchema2POJO - Easy and quick way to convert your JSON to Java objects

  • KeyPromoter - Shows to user how easy he can make same action using only keyboard(menus and toolbar button mouse clicks initiates shortcut display)

  • Material Design Icon Generator - This plugin help you to set material design icon to your project

  • Material Palette - Generate Material Design color palettes quickly and easily

  • Methods Count - Your solution for a perfectly fit APK

  • Mocky.IO - Mock your HTTP responses to test your REST API

  • Pidcat - Colored logcat script which only shows log entries for a specific application package

  • RESTMock - HTTP Server for Android Instrumentation tests

  • Scalpel - A surgical debugging tool to uncover the layers under your app

  • Shape Shifter - Useful tool for creating simple path morphing AnimatedVectorDrawables

  • Slides Code Highlighter - A nifty tool to turn your boring pieces of code into beautifully highlighted code snippets

  • SonarLint - SonarLint is an IntelliJ IDEA plugin that provides on-the-fly feedback to developers on new bugs and quality issues injected into Java

  • SourceTree - Harness the power of Git and Hg in a beautifully simple application

  • String Manipulation - Provides actions for text manipulation such as toggle, capitalize, encode/decode, etc

  • SVG2VectorDrawable Plugin - Tools for convert SVG file to Android VectorDrawable

  • WireMock - A tool for mocking HTTP services

Free (+ Pro)

  • Crowdin - Translate and manage the process better, faster, and smarter

  • GenyMotion - A unique platform to bring your Android app to perfection!

  • GitKraken - The most popular Git GUI for Windows, Mac AND Linux

  • IDE Scout - SQLScout is a plugin for Android Studio and IntelliJ IDEA that provides powerful, dedicated support for managing and debugging SQLite databases

  • JRebel for Android - Instantly update code and resources JRebel for Android is an IDE plug-in that accelerates the development of Android applications

  • NimbleDroid - Auto-test Your Android Apps for Critical Issues. No Coding Required

  • The Noun Project - Icons for Everything

  • Trialy.IO - Increase your IAP conversions by letting your users try premium features for a limited time

  • Vysor - Vysor puts your Android on your desktop

  • Zeplin - Design hand-off has never been easier. Generate styleguides and resources, automatically

Kotlin for Android

Kotlin, the new statically-typed programming language from JetBrains aims to make Android app development fun and enjoyable once again. It's like Java on steroids. Here is a list of some cool Kotlin resources for you to get started.

  • Anko - Pleasant Android application development

  • Anvil - Minimal UI library for Android inspired by React

  • AsyncAwait - async/await for Android built upon coroutines introduced in Kotlin 1.1

  • Exposed - Kotlin SQL Framework

  • Klutter - A mix of random small libraries for Kotlin, the smallest reside here until big enough for their own repository

  • Koi - Koi, a lightweight Kotlin library for Android Development

  • PreferenceHolder - SharedPreference usage made easy using Kotlin

  • RxKotlin - RxJava bindings for Kotlin