Tools & Frameworks Used in WhatsApp
Following is a list of tools & frameworks that were found to be used in the most latest version of WhatsApp mobile application. Please give a shout if you disagree with one or more entries listed below.
- UI-focused
- ActionBarSherlock: ActionBarSherlock is an extension of Android support library designed to facilitate the use of the action bar design pattern across all versions of Android with a single API. The library got used in components such as GalleryPicker, ImageGallery etc.
- StickyGridHeaders: An Android library that provides a GridView that shows items in sections with headers. By default the section headers stick to the top like the People app in Android 4.x but this can be turned off. StickyGridHeaders also automatically sizes its rows to the largest item in the row.
- ActionBarSherlock: ActionBarSherlock is an extension of Android support library designed to facilitate the use of the action bar design pattern across all versions of Android with a single API. The library got used in components such as GalleryPicker, ImageGallery etc.
- Integration with Google Maps, Google+
- Google Play Services SDK: It helped WhatsApp take advantage of the Google-powered features such as Google Maps, Google+.
- Platform updates distribution
- Google Play Services SDK: It helped in distributing automatic platform updates as an APK through the Google Play store. This made it faster for the users to receive the updates
- Media
- Mp4Parser: As part of Mp4Parser, ISOParser and ISOViewer got used to read and write the MP4 file structure and, visualize the MP4 box structure respectively.
- Messaging
- Cloud to Device Messaging Framework: Android Cloud to Device Messaging (C2DM) is a service that helps in sending data from servers to WhatsApp application on Android devices. The service provides a simple, lightweight mechanism that servers can use to tell mobile applications to contact the server directly, to fetch updated application or user data. The C2DM service handles all aspects of queueing of messages and delivery to the target application running on the target device.In the application, there are two key components. They are C2DMBroadcastReceiver and C2DMRegistrar.
- Database
- SQLite: SQLite is an Open Source database that supports standard relational database features like SQL syntax, transactions and prepared statements. The database requires limited memory at runtime (approx. 250 KByte) which makes it a good candidate from being embedded into other runtimes.
- Platform
- Android SDK
- AspectJ: A seamless aspect-oriented extension to the Java programming language that is used for modularization of crosscutting concerns, such as error checking and handling, synchronization, context-sensitive behavior, performance optimizations, monitoring and logging, debugging support, and multi-object protocols.
What was done to decompile WhatsApp (Android)?
Following are set of things I did to decompile WhatsApp (apk) files. The same instructions could be used for any mobile app with apk extension.
- Download WhatsApp.apk file from WhatsApp.com.
- Download Dex2jar tool
- Execute following command to extract WhatsApp.apk in form *smali files: d2j-dex2jar.bat WhatsApp.apk
- Download JD-GUI and execute following command: jd-gui.exe WhatsApp-dex2jar.jar
From executing jd-gui command, what you get is Java source code file which could be viewed and studied. Following is the screenshot of JD-GUI tool displaying WhatsApp code.
- Agentic Reasoning Design Patterns in AI: Examples - October 18, 2024
- LLMs for Adaptive Learning & Personalized Education - October 8, 2024
- Sparse Mixture of Experts (MoE) Models: Examples - October 6, 2024
Congratulation Ajitesh, very useful
thanks for your comments, Henry.
Did you miss the major part of the app ? i.e XMPP for message sending ?
“The GCM Cloud Connection Server (CCS) is a connection server based on XMPP”
https://developer.android.com/google/gcm/ccs.html
Ajitesh should only update point 5: cd2m is now gcm/css
nice…
thx and god bless.
a sincere blessing from hong kong…
^__^
Thank you sir,I want to create same image gallery for devices with Android 3.0 devices (https://play.google.com/store/apps/details?id=net.betterlabs.android.picbackman)
hello sir, i am doing my final year project and i am interested in adjusting whatsapp. i am thinking of adding on an upload function, to attach documents like email. do you think it is possible for me to did that? is there any tips, suggestions or knowledge that you would like to share? thank you 🙂
you can easily add this by modifying the ActionBarSherlock..
Get in deep of source code .. You would find section where you can add this feature(find attachments:pictures)..
the function will be same as attachments of pictures
only difference you will have to link it to gmail app. our mail app.
and change the file extension
which .apk file i should download ? whether android devices apk or windows phone apk?, and where i should execute the above commands…? please kindly reply as soon as possible