domingo, 22 de noviembre de 2009

My vim for android devlopement environment

I haven't blogged for a long time, and I would have liked to be able to blog about my Gnome soc project, but unfortunately, I have other priorities. As part of my studies, I had to do some development for the android platform, and since the last summer, I can't use other development environment than Vim, I decided to find a way of using it for my android project.

So here is the description of my Vim environment for android applications development. I use vim 7.2, the version distributed with Ubuntu 9.10, the Vjde plugin, terminator as a terminal (which by the way is a great terminal emulator!!) and then last android JDK in order to develop application for android2.0 (eclaire).

First I installed the SDK (there are a few bugs on the emulator installation due to this bug and an this ssl problem. I fallowed this guide to set the sdk. Then, I installed the Vjde plug-in which is a Vim plug-in to get a Java development environment in Vi, this plugin permit to add intelligent completion for methods calls as well as for imports (I only unziped this in you ~/.vim directory). Afterward, I created my android project (this page explains well how to do it). And then I created an vjde project, in vim:

:Vjdeas filename.prj

This is actually a text file which permit to save variables to you project. Then I set it Vjde to look at android class, methods and package, in vim:

:let g:vjde_lib_path='/path/to/android/sdk/platforms/android-2.0/android.jar:build.classes'

And save it

:Vjdesave

Thanks to it, I can have functions/imports completion available with the CTRL-X+CTRL-U key combination (I need to load the project(:Vjdeload filename.prj) every time I want to work on it, I think there must be a way of doing it automatically but didn't figure it out yet). It would also be possible to get the documentation integration thanks to the Vjde plugin, but I am used to have it in another window.

Then to try the program on the android emulator, I lunch the emulator, and in a terminal:

ant debug && adb install -r bin/yourAppName-debug.apk

You can then launch it in the android emulator menu (I looked for a way of lunching the program directly from the command line, but didn't find :( ). To debug the app, you can launch the ddms tool which is part of the android sdk.

I hope this could be useful for some people who want to develop for the android platform and don't want to use eclipse or netbeans IDE.



Edit: I find a good trick to manage the make and install thing, base from here. I added the following (executable) file to ~/.local/bin/vimAntAndroid:

#!/bin/sh
ant debug -Dbuild.compiler.emacs=true -quiet -find build.xml 2>&1 | grep '\[javac\]'
echo "Installing..."
adb install -r ${1} | grep 'null'
And then in Vim

set makeprg=vimAntAndroid

7 comentarios:

  1. Hi, thanks for the post. Did you manage to make autocomplete from R.java working?

    ResponderEliminar
  2. The R.java is the automaticly generated file right?
    I think it should work doing something like:

    :let g:vjde_lib_path='/path/to/R.java:build.classes'

    I didn't do it because my R.java is prety empty actually!

    Apart from that did you use more or less my config and did it work well?

    ResponderEliminar
  3. Hm.. it seems not to work. Also it doesn't autocomplete method you define in your classes.

    I'd like to have autocomplete for src/ and gen/ directories. I tried many variations of this:

    let g:vjde_lib_path='/Volumes/Data/Users/Pavel/Android/android-sdk-mac_86/platforms/android-2.1/android.jar:src/com/fryit/fryar:gen/com/fryit/fryar'

    But without any luck.

    ResponderEliminar
  4. According to this it should actually work: vhttp://sugree.com/node/479

    ResponderEliminar
  5. Android Software Development Kit enables developers to develop custom Android applications using JAVA Programming language (J2ME).

    Android Development Company

    ResponderEliminar
  6. This is one of the excellent post.This is one of the good quality information.I like your blog technique.
    Android Training In Chandigarh

    ResponderEliminar
  7. Hi
    I read your post and it contains very useful information. Thanks for this useful article.

    ResponderEliminar