由于哥们的机子配置不是一般的好,望eclipse惊叹啊,一直在寻找能够开发java更者android的字符编辑器,最终经多方的查阅、尝试,找到一篇比较完美的文章,成功体验ubuntu下开发android,话不多说,内容如下:

在开发Android的 程序员中,应该说使用Eclipse或者Netbean的是最多的。考虑到Google推出了一整套开发插件,让用户从项目到写代码到编译运行链接模拟器 一气呵成,用Eclipse这样的IDE无可厚非。不过,总有一些用户不喜欢IDE,不想用类似于Eclipse的方式开发,他们的想法包括

  • 任何编辑器都比不上vim/emacs
  • 我电脑太慢,不想跑IDE
  • 纯命令行形式,我就喜欢,每天打10000个命令我也喜欢,反正我选择,我喜欢

^_^

而本文, 就是为这部分用户而写。其实对于Google这样的Linux气氛浓厚的公司,它本身提供的命令行工具就已经足够你脱离IDE了,就是编辑上,很多 Eclipse优秀的功能都没有。但是,配合本文介绍的eclim,你会发现,你把Eclipse嵌进了vim中!现在,建立项目之后,从编辑源代码到编 译到管理项目最后到安装程序到模拟器,所有任务都可以在一个vim里面完成,我们真正把vim当成了IDE!

注:我不是一个Cmd盲目爱好者,在我看来,如果真的想开发Android应用而非小打小闹,那么IDE还是有点用处的:

  • 当你项目很大,要管理的东西很多时。用Vim开发任何语言的程序都会面临scalable的问题
  • 当你硬着头皮找bug时。DDMS配合Eclipse确实比其他方式都要方便得多。

所以我自己是Cmd加IDE配合着用

实现本文所讲述内容的关键,就是eclim这个开源软件。你可以从eclim官方站点了解并下载。接下来,就针对eclim来讲解具体的安装使用步骤。

安装

安装之前要确认,你的系统有

  1. JDK1.5或者更高
  2. Eclipse 3.5.x
  3. vim 7.1.x,并且vimrc里面要set nocompatible并打开filetype plugin on

首先下载,我们可以从下载页面看到,有三种包,exe是windows的,tar.gz是源码,sh是Linux/Mac下安装脚本。由于源码包需要有Ant来配置安装,还得花心思去看版本对不对,所以我们可以直接下载sh文件来安装。

下载sh文件后,执行,会弹出安装的图形界面,一路next即可。注意,请事先备份你的~/.vim目录下的所有原有插件,因为eclim默认是覆盖安装插件到这个目录下的。你可以安装之后再把备份的原有插件copy回去即可。

好,假设我们已经安装完成了,怎么用eclimd呢?eclimd有两种最方面的模式,一种是在eclipse里面用vim,一种是在vim里面享受eclipse的功能。这里主要说一说以vim/gvim为主环境的配置。

首先,eclim和其他很多程序一样,有一个daemon守护程序,所以每次想使用的时候,都必须把这个daemon守护程序打开。打开这个程序靠 eclimd这个脚本,通常都在你的~/.eclipse/xxxxxx目录下,具体在哪里取决于你安装时候指定的eclipse配置文件目录。如果是在 忘了,用

find /home -name eclimd 2>/dev/null

找。一旦找到,建议把路径加到path里面去,然后将这个命令设置为开机启动,如果你会经常用的话。

好,现在daemon程序跑起来了,打开vim,用命令

:PingEclim

如果一切正常,则会出现eclim以及eclipse的版本号。否则,则可能是daemon运作不正常。

使用

好,假设到这里,一切都正常,我们就开始用eclim来进行Android工程了。下面的内容,就是今天要说的核心部分。

eclim本身支持五种工程的创建,c/c++, java, php, python, ruby,工程创建方法请参见官方网页的说明。但是,我们这里并不用eclim本身来创建工程。因为Android SDK本身已经提供这个功能了,而且SDK创建出的工程才有那一套文件个目录。记住,我们用eclim是为了给Android开发提供便捷的,所以整体流 程还是走Android那套。所以,我们还是先创建project

Android create project -n test –activity demo –package cn.forwind.myproject –target 3 –path ./myproject

这样就在本地目录下创建了工程目录myproject。你进去之后用la命令就会发现,这本质上不是一个eclipse的java工程,因为没 有.project和.classpath两个文件。而eclim本质上是遵循eclipse规范的,怎么办呢?没关系,我们可以这样做。到 myproject目录的上一层目录,打开vim,输入

:ProjectCreate ./myproject -n java

什么意思呢?就是说我们要在./myproject目录下建立一个java对应的eclipse工程。而./myproject目录已经有 Android所建立的所有文件了,所以这时,双方需要的文件就都有了。用la看看,现在是不是又有.project又有.classpath了?而且 src目录也被自动加进classpath了!

注:似乎现在eclim还有一个bug,就是建立project的时候path不能太深,超过5层就error了。我用的 解决方法是把包含project的目录放在home目录下,保证路径不会很深。你也可以通过eclipse读取一次这个Android工程,它就会自动帮 你创建.project和.classpath。也不麻烦,因为对一个project只需要做一次即可。

好,现在我们就把新project建立好了,接下来建立一个avd

Android create avd -n forwind.cn

这样,该做的准备工作就完成了。现在进入myproject目录,打开vim。

首先在vim里面用

:ProjectList

命令,确认一下,myproject这个project是被认出来了的。好,我们现在试着运行

:ProjectTree myproject

看看,是不是左边出现了整个project的层级架构?怎么操作,我相信所有的vimer都应该会,就不讲解了。你还可以把这个命令定义成快捷键,后面不用加project名称,因为默认打开当前project的树状图。

你还可以用

:ProjectsTree

来打开所有的Project的树状图。如果想打开一个文件,就自动打开对应的project的树状图,就在你的vimrc文件里面添加这么一句

let g:EclimProjectTreeAutoOpen=1

有朋友会有问题了,如果我想打开树状图里面的另一个文件,那不是把当前文件覆盖了?当然用惯了buffer操作的朋友会觉得无所谓,但是也有不少朋友是tab操作的,这时,你可以把光标移到你想打开的文件上,按一下T,大写的,文件就会自动在另一个tab中打开了。 好,接下来看看在编辑的过程中,除了vim自己的优势,eclim还给了我们什么好玩的东西。首先,你不用担心代码风格的问题了,比如大括号之类的,你完全可以按照自己的风格写,写完了一个命令
:%JavaFormat
就可以自动讲文件排版成你eclipse设置的java代码风格。这样,只需要在eclipse里面设置好团队统一的风格,写的时候就不用担心。这个功能等同于Eclipse里面的 其次,eclim有比较初级的代码检查功能,相当于Eclipse的quick fix。首先,你在写完一个源程序代码后,用命令
:Validate
就可以让eclim帮你检查可能有错的行,并会用双左向箭头标注出来
然后你把光标移到该行,用命令
:JavaCorrect
就可以让eclim给你修改建议。当然你也可以自己直接修改。

最后再介绍一下大家都会很关心的代码补全。eclim的代码补全,用的是相当标准的Vim补全方法,快捷键就是”Ctrl x Ctrl u”。我们都知道U表示user define。效果如何呢?看看下面这张示意图:)

我用过Vim不少代码补全插件,有针对语言的,有通用的。应该是eclim是我用过对Java语言支持最好的。当然前面介绍过了,eclim对其他语言也有很好的支持,有兴趣的朋友去官网看看。

好,代码编辑部分就介绍到这里。应该说,eclim的功能实在太多了,大多数eclipse能有的,你都能在eclim里面找到。我这里就不继续介绍了,喜欢这个玩意的朋友,可以去看看这张cheatsheet,常用功能就基本包括完了。

那么编辑完代码,接下来干嘛呢?去emulator上测试啊。首先你要打开刚才建立的avd

emulator -avn AVD_NAME

然后编译安装。在Android SDK中,你可以用ant debug来编译debug版本的程序,然后adb install name.apk 安装,也可以用ant install安装。而eclim牛逼之处在于,它内建支持ant!也就是说,你在vim里面把代码写完,根本不用推出,直接一个ant install,就可以在模拟器里面看效果了。而且,ant对应的build.xml,你也可以直接编辑,eclim同样提供了代码补全和检查基本语法的 功能!

怎么样,看见上面的介绍,有没有一点心动啊?再说一遍,eclim真的是一个很牛逼的工具,建议所有有兴趣用它的人,都去官网上自习读document,保证你会发现,你越来越不需要eclipse了。(除了调试:P)。

最后说一下,eclim还支持单独的配置文件,你可以在home目录下建一个~/.eclimrc,性质就和.gvimrc一样的。

最后的最后,恩,我没有介绍用eclim编辑界面XML,因为我用DroidDraw来画界面。不过你习惯了文本编辑的话,其实道理是一样的。

---------------------------------------------------------------------------------------------------------------------------卑微的分割线-------------------------------------

                                                                                      来源:http://www.linuxidc.com/Linux/2011-08/41341.htm

问题一:
导包时不能识别Android.jar
原因及解决方法
原因是eclim默认的路径中没有包含Android.jar,在工程目录下的.classpath文件中添加这一句
path="/opt/Android-sdk-linux_86/platforms/android-4/android.jar"/>
//这个path是我的Android.jar的绝对路径改成你自己的。

问题二:
R cannot be resolved to a variable
原因及解决方法
R.java 是Android自动生成的,不需要import,但是eclim并不知道,所以eclim将其导入。
将下面的语句添加到vim的ftplugin目录中的java.vim中就可以使eclim不导入Android.R这个包。
  let b:EclimLocationListFilter = [ 
      \ "R cannot be resolved to a variable", 
    \ ]


更多相关文章

  1. 移植 C/C++ 代码至 Android 平台经验总结
  2. 友盟资深工程师徐仙明确定演讲主题:Android 插件架构实现探讨 | A
  3. Android的配置文件操作的完美封装(使用注解 反射让配置文件操作如
  4. 【Android 内存优化】使用 Memory Analyzer ( MAT ) 工具分析内
  5. Android 中下载文件到sdcard和进度条小结
  6. android 内部文件读取
  7. Android 命名规范 (提高代码可以读性)
  8. linux和windows平台下,如何下载android sdk的源代码

随机推荐

  1. android自定义标题栏(带进度条)
  2. Android 使用原生打印Native print
  3. Android面试题集(含答案)
  4. Android常用类库
  5. Android音频可视化开发案例说明
  6. Android应用添加(创建)和删除及判断是否
  7. Android Activity 界面切换动画
  8. 内存优化之android:largeHeap
  9. Android中的ping网络实现
  10. android LayoutInflater、setContentView