libpurple on Android
This is the documentation to compile and use libpurple on Android.
The Android port of libpurple will be created during a Google Summer of Code project.
For more information see the proposal on google melange
Compiling
There are many things you need to do in order to compile the libraries yourself, so there is an extra page for it. You should plan about 1 hour for the setup and another one hour to compile.
There is also a tutorial to set up debugging.
Using
If you just want to use libpurple in your application, you do not need to compile everything. Just use the precompiled binaries for ARM.
There is a tutorial on how to create an Android client.
At the end of the project I am planning to do a release, but for now just mail me if you want to have binaries. -- Michael
Compiling for host
Even if the project is focused on Android, it is also possible to build the Java library on your host.
List of things to do
This is the (incomplete) list of things that are missing in the library and/or in the testclient and need to be implemented. If you want to, you are welcome to help. Some of those things might also be a nice GSoC project.
- Chat
- Currently, there is only support for IM sessions.
- More protocols
- Only jabber is tested, other protocols may segfault, not connect, ...
- Status
- Currently, you are just online.
- Plugin support
- With the ability to install new protocols with a nice GUI and integreation of a plugin website.
- Account settings
- Add more settings than the basic account settings, including setting account icons.
- Buddylist editing
- Make the buddylist editable, regroupable, ...
- File transfers
- Would be nice to have.
- Media support
- Who would need that? Typing on a phone is so easy.
- UI
- The UI is just for testing. Do a better one.
- Fix bugs
- They are somewhere.
- Update libraries
- The libraries need to be updated and compilation scripts checked. And json-glib should be added.
Cleanup plan
This are the things that will be done the next few days/weeks to clean it up:
- Rename the projects. the main project will become jpurple, the build project will become jpurple-dependencies and the android client will get a new name.
- Rename the packages. We will switch all im.pidgin.libpurple to im.pidgin.jpurple
- Rename the repo soc/2012/michael/android to soc/2012/michael/libpruple
- Move the android/workspace directory to a new repository (soc/2012/michael/android) and delete it from the main repo (using hg convert)
- merge the andoid branch with the default branch in the soc/2012/michael/libpruple, so that there is only one active branch.
End result:
We have soc/2012/michael/android, which contains all android/java related source code. And we have soc/2012/michael/libpurple, which is the libpurple branch of the android devs that contains changes to libpurple.
Contact
This project is done by Michael Zangl. You can contract him per mail using michael (at) soc.pidgin.im.