This is Deeraj from NIT Trichy, India. I am looking on to contribute towards the project of revisiting the Android and Emulator Installer . It would be great if someone could help me on getting started with contributing to the community and to better understand the code base.
It would be great if I could talk with someone regarding this.
Deeraj, I suggest you start by looking at the Wiki on Processing for Android where it talks about how to contribute to the project and the structure of the library. You may also want to check out the Wiki on Processing because Processing for Android is built on top of it.
I don’t know enough about Android to give you more direction but hopefully that’s a place to start. If you have specific questions feel free to post about them and people will do their best to answer them.
There is the Processing code itself (the mode) and there is the PDE, which is the Processing Development environment.
To start contributing to the mode, I suggest first try running examples and become familiar with Processing Android concept and his connection to the Java version. The next step could be tracing really fast the Processing code to understand the structure (check the wiki for the repo structure). I might be wrong, but there is no actual documentation about the code structure. There are docs available about functionality. Now, to make things a bit easier, you should focus only in the PApplet.java file and probably the PGraphics.java file in the current repo. Try to understand how setup() and draw() functions work in general. Then swap to android mode and explore it from the source code. Notice the core resembles the Java version (this is intended). You also need to become familiar with the Android folder as this is the code that lays out the Android structure that all app of this type should have to run in devices and emulators.
If you want to work specifically with the Android SDK and Emulator installer, then my suggestion is that you become familiar with how the actual PDE works. It is a bit ambitious to get to know both the Java and Android version (ok, just focus in the mode, not the actual PDE). This part of the repo should be a good starting point. My suggestion: Try to build the android mode from the repo in your local machine using this and then start tweaking and exploring the code. Focus on how an application is built and package, or at least what commands are used to build the application. Note Processing Android is not implementing any of this from scratch but it is using the tools available through the Android SDK. From what I have seen in the forum, the automatic Android SDK installer doesn’t seem to work for everybody. Maybe this is what it means to “revisit” this topic.
Finally, I invite you to explore previous questions in this forum about Android as it could provide some idea about its users and their challenges. Also visit the current open issues and previous resolved tickets as it could give another insight of the code structure.
Thanks for the good amount of information . I looked through the code base and have understood the code base fairly . I have made a small PR on the PDE repo , however I’m not able to make people comment on it . (Any help on this!?)
I am also able to analyse the code and have identified the files to which I have to make changes to contribute to this idea . I will also look into the issues on the SDK installer as you suggested .
As per what’s mentioned on the ideas page , it looks like one major step would be to ensure that the installer installs the latest version of SDK, so I will working on that mainly . Thanks for your guidance .
@deerajtheepshi thanks for your interest in the SDK/emulator maintenance project idea. I have added some specific issues to the wiki page, and also some new entries in the wiki that may be helpful to navigate the code.
That’s a good point. The only reason to use a specific SDK version was to avoid breaking the mode if the latest SDK introduces some changes that are incompatible with the mode. This did happen before when Google deprecated ant, which rendered the mode completely unusable, but I guess that is a relatively unusual event.