Search code examples
javaandroidarchitectureopen-sourcelibraries

Identifying the architecture and libraries of an open source app


so here I got an open-source Android app which I must analyze and identify the structure of, things like its libraries, high-level architecture, configuration management, and testing facilities.

Now I understand where and how to look for the last two, but I still rather confused on how can I identify the libraries and architecture.

So what I'm asking is, how do I identify the architecture of an app and the libraries it uses? where do I look for it? what part of the source code? are there any tips to do this?

If there is any other info that I should provide, please do tell me.

Edit1: this is what I meant by high-level architecture, using Firefox as an example, but it doesn't have to be this technical, something more simple is also okay >>> Mozilla Firefox Architecture


Solution

  • There are 1000s (maybe even millions) of questions on stack-overflow regarding Android development. The android documentation is itself highly exhaustive. And a simple query like "add library android project" can lead someone to answers like this.

    What I am really trying to say is, a lot is already there. You just need to use it.

    As for the original question :

    Libraries

    The dependencies can be found here. These are the external libraries that are used by this app.

    -

    Architecture

    About that, you will mostly have to go through the code. Using Android-studio for that can be really helpful. You can use tools like this, but mostly, you will have to go through the code and understand it.

    Furthermore, since its opensource project, there should be good documentation about it.