All Projects → alexzaitsev → Apk Dependency Graph

alexzaitsev / Apk Dependency Graph

Licence: apache-2.0
Android class dependency visualizer. This tool helps to visualize the current state of the project.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Apk Dependency Graph

Reverseapk
Quickly analyze and reverse engineer Android packages
Stars: ✭ 419 (-37.93%)
Mutual labels:  apk, decompile, smali
Android Crack Tool
🐞Android crack tool For Mac
Stars: ✭ 2,666 (+294.96%)
Mutual labels:  apk, decompile, smali
Bytecode Viewer
A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)
Stars: ✭ 12,606 (+1767.56%)
Mutual labels:  apk, smali
Apkmod
Apkmod can decompile, recompile, sign APK, and bind the payload with any legit APP
Stars: ✭ 235 (-65.19%)
Mutual labels:  apk, decompile
react-native-decompiler
Decompile React Native Android/IOS Bundle.
Stars: ✭ 78 (-88.44%)
Mutual labels:  apk, decompile
Apk Changer
Command line program for modifying apk files
Stars: ✭ 122 (-81.93%)
Mutual labels:  apk, smali
Backdoor Apk
backdoor-apk is a shell script that simplifies the process of adding a backdoor to any Android APK file. Users of this shell script should have working knowledge of Linux, Bash, Metasploit, Apktool, the Android SDK, smali, etc. This shell script is provided as-is without warranty of any kind and is intended for educational purposes only.
Stars: ✭ 1,766 (+161.63%)
Mutual labels:  apk, smali
android-decompile
📱 Decompile android apps with a single command
Stars: ✭ 17 (-97.48%)
Mutual labels:  apk, decompile
Fakerandroid
A tool translate a apk file to stantard android project include so hook api and il2cpp c++ scaffolding when apk is a unity il2cpp game. Write code on a apk file elegantly.
Stars: ✭ 695 (+2.96%)
Mutual labels:  apk, smali
devonfw4flutter-mts-app
Large-Scale Flutter Reference Application. An Extension of DevonFw's My Thai Star Project
Stars: ✭ 54 (-92%)
Mutual labels:  dependency-injection, architecture
Adhrit
Android Security Suite for in-depth reconnaissance and static bytecode analysis based on Ghera benchmarks.
Stars: ✭ 399 (-40.89%)
Mutual labels:  apk, smali
Droidjack
Este troyano para Android es uno de los más completos. Con él vamos a poder tener acceso a remoto a todo el dispositivo infectado, desde la agenda, las llamadas y los SMS hasta el micrófono y las cámaras del smartphone. Todo.
Stars: ✭ 44 (-93.48%)
Mutual labels:  apk, smali
Apk Dependency Graph Plugin
Displays dependencies between classes as fancy graph.
Stars: ✭ 36 (-94.67%)
Mutual labels:  apk, decompile
Onekey Decompile Apk
一步到位反编译apk工具(onekey decompile apk)
Stars: ✭ 746 (+10.52%)
Mutual labels:  apk, decompile
Decompile Apk
🔥 Decompile APK(反编译APK)
Stars: ✭ 464 (-31.26%)
Mutual labels:  apk, decompile
dalvikgate
Lightweight dex / odex / apk to jar converter
Stars: ✭ 32 (-95.26%)
Mutual labels:  apk, smali
Kotlin Mvvm Architecture
Android Architecture Design Patterns using Kotlin, MVVM, Dagger2, LiveData, Room, MediatorLiveData, NetworkBoundResources, Retrofit, AndroidX, ViewModels, Dependency Injection using Dagger2, Repository pattern.
Stars: ✭ 126 (-81.33%)
Mutual labels:  architecture, dependency-injection
Dry System
Organize your code into reusable components
Stars: ✭ 228 (-66.22%)
Mutual labels:  architecture, dependency-injection
movie-booking
An example for booking movie seat, combined of Android Data Binding, State Design Pattern and Multibinding + Autofactory. iOS version is: https://github.com/lizhiquan/MovieBooking
Stars: ✭ 80 (-88.15%)
Mutual labels:  dependency-injection, architecture
Obfuscapk
An automatic obfuscation tool for Android apps that works in a black-box fashion, supports advanced obfuscation features and has a modular architecture easily extensible with new techniques
Stars: ✭ 456 (-32.44%)
Mutual labels:  apk, smali

Apk Dependency Graph (ADG)

Build Status version Android Arsenal

Class dependency visualizer. Only apk file is needed.
Class coupling is one of the significant code metrics that shows how easy is to change, maintain and test the code. This tool helps to view whole picture of the project.

Table of contents

Usage

Some helpful scripts are prepared for you. All you need to do is to download and unpack the latest release and type the next command in your command line:

For Windows:

run.bat full\path\to\the\apk\app-release.apk full\path\to\the\filterset.json

Where:

  • run.bat is a path to script in your local repository
  • full\path\to\the\apk\app-release.apk is a full path to the apk file you want to analize
  • full\path\to\the\filterset.json is a full path to the filterset file

The tool is provided with the default filterset. However, you're highly encouraged to customize it. Read filter instructions for the details.

For Unix:

./run.sh full/path/to/the/apk/app-release.apk full/path/to/the/filterset.json

Wait until the command finishes:

Baksmaling classes.dex...
Analyzing dependencies...
Success! Now open index.html in your browser.

It will decompile your apk and create output/apk-file-name folder in the same folder where the script is. After this it will analyze the smali code and generate gui/analyzed.js file which contains all dependencies.
Now open gui/index.html in your browser and enjoy!

Compile

At least Java 8 is needed to compile and run the jar file.

Ways to compile build/jar/apk-dependency-graph.jar:

>> gradle build (Gradle 5.0 or newer)
>> gradlew build (Gradle Wrapper)

Classes will be generated to build/classes folder and jar file will appear onto build/libs folder.

To get more information please check our wiki page.

Examples

Here is the sample of good architecture with low class coupling:
Good sample

And this one looks like a spaghetti:
Good sample

Does your project look like the first or the second picture? :)

Demo

Watch demo video.

Contributors

I want to say thank you to all the people who made even tiny pull request. This project is intended to improve current state of Android architecture all over the world so each detail is important. In the contributors page you can find a list of people who have found some time to improve this tool.

Credits

There is the same tool for iOS: https://github.com/PaulTaykalo/objc-dependency-visualizer
I have used gui/index.html of that project. Thanks Paul for the great tool.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].