Skip to content
Alexander Zaitsev edited this page May 12, 2017 · 12 revisions

To build a graph of your dependencies you only need an apk file.

We need to perform the next operations to get the graph:

  1. decompile apk to smali code
  2. analyze smali code and build .js file with dependencies
  3. display the graph

We're using the next technologies to archieve our goals:

  1. apktool is used to decompile apk to smali code
  2. apk-dependency-graph is used to analyze smali code and build .js file with dependencies
  3. html page with d3 support (this is a js library) is used to display the graph

Now let's understand the structure of this project:

  1. lib folder contains `apktool' jar file
  2. src folder contains apk-dependency-graph source code, build folder contains apk-dependency-graph.jar file (build folder needs to be generated, it's not included in source code but can be found in release archives)
  3. gui folder contains generated analyzed.js file, index.html to display the graph and other scripts
  4. root folder contains run scripts and ant build config.

I hope that now you have better understanding of what is going on there :) Don't hesitate to create issues with bugs or questions.

Also we're looking for contributors.
Clone this wiki locally