[To Android Page]
[To Main Page]

 
 
 

Android Class Hierarchy and Directed Graphs

Updated: 28-Dec-2017
By: Dennis Lang
The following Java Class Tree list and Directed Graphs were produced by parsing Java code and finding class definitions using a regular expression pattern. This approach is not perfect but good enough. The only special logic is to try and detect literal strings and ignore parsing any class key words inside a string.

Below you can find both a Tree list view and a Directed Graph of several Android Java Packages for two API levels.

At the bottom is a few graphs with a viewer which supports panning and zooming but I recommend you download the full size picture to examine it in more detail. I also provide links to a few other class diagram tools.

The source code and program executable used to parse the Android code and generate the class hierarchy diagrams can be found on here:
JavaTree - parse java code into class diagrams

  The directed graphs are produced by Graphviz using a "dot" file generated by my Java parser.  

Code name Version Initial date API level Security patches
KitKat Old version, no longer supported: 4.4 – 4.4.4 Oct 31, 2013 19 – 20 Unsupported
Lollipop Older version, yet still supported: 5.0 – 5.1.1 Nov 12, 2014 21 – 22 Supported
Marshmallow Older version, yet still supported: 6.0 – 6.0.1 Oct 5, 2015 23 Supported
Nougat Older version, yet still supported: 7.0 – 7.1.2 Aug 22, 2016 24 – 25 Supported
Oreo Current stable version: 8.0 – 8.1 Aug 21, 2017 26 – 27 Supported

Class tree diagram for Kitkat (API 19) 4.4

Tree (list) of classes
View package
api 19
Tree (list) of classes
Widget package
api 19
Tree (list) of classes
App package
api 19

Class tree diagram for Lollipop (API 21) 5.0

Tabular (list) of classes
All api 21
** Very long list

Tree (list) of classes
View package
api 21
Tree (list) of classes
Widget package
api 21
Tree (list) of classes
App package
api 21
Tree (list) of classes
Util package
api 21

Class tree diagram for Lollipop (API 22) 5.1

Tree (list) of classes
View package
api 22
Tree (list) of classes
Widget package
api 22
Tree (list) of classes
App package
api 22
Tree (list) of classes
Util package
api 22

Class tree diagram for Marshmallow (API 23) 6.x

Tree (list) of classes
View package
api 23
Tree (list) of classes
Widget package
api 23
Tree (list) of classes
App package
api 23
Tree (list) of classes
Util package
api 23

Class tree diagram for Nougat (API 24) 7.0

Tree (list) of classes
View package
api 24
Tree (list) of classes
Widget package
api 24
Tree (list) of classes
App package
api 24
Tree (list) of classes
Util package
api 24

Class tree diagram for Nougat (API 25) 7.1

Tree (list) of classes
View package
api 25
Tree (list) of classes
Widget package
api 25
Tree (list) of classes
App package
api 25
Tree (list) of classes
Util package
api 25

Class tree diagram for Oreo (API 26) 8.0, 8.1

Tree (list) of classes
View package
api 26
Tree (list) of classes
Widget package
api 26
Tree (list) of classes
App package
api 26
Tree (list) of classes
Util package
api 26


Android (api 21) Widget Package - View and ViewGroup class

Full size digraph of View classes api 21

Pan and Zoom View (api 21) class hierarchy graphs

View (Spread)
ViewGroup (Spread)
View (Rows)
ViewGroup (Rows)

Directed class diagrams Android packages

Directed graph View
Package api 21
Directed graph Widget
Package api 21
Directed graph View
Package api 22
Directed graph Widget
Package api 22
Directed graph View
Package api 23
Directed graph Widget
Package api 23
Directed graph View
Package api 24
Directed graph Widget
Package api 24
Directed graph View
Package api 25
Directed graph Widget
Package api 25
Directed graph View
Package api 26
Directed graph Widget
Package api 26


Class Diagram Tools / Sites