Emacs用JDEE编写Android程序
来源:互联网 发布:燃气灶烤箱一体机 知乎 编辑:程序博客网 时间:2024/06/05 15:14
前文介绍了如何用Maven构建Android工程,现在进一步介绍如何使用JDEE编写程序。
Ubuntu 14.04 Android 使用Maven二 创建自己的Maven工程
如何安装JDEE可以参考之前的文章:
Emacs 24.3 配置JDEE
首先要安装一个m2jdee的插件,能够根据maven的pom.xml中的配置生成jdee所需的prj.el文件。
获取该项目:
git clone git@gitlab.com:devtool/m2jdee.git
或者
git clone https://gitlab.com/devtool/m2jdee.git
进入m2jdee目录后,编译安装:
mvn install
然后配置~/.m2/settings.xml文件,添加:
<pluginGroups> <pluginGroup>org.freebird.maven.plugins</pluginGroup> </pluginGroups>
好了,现在进入我的android maven工程目录, 运行下面的命令:
mvn m2jdee:jdee
一会儿,prj.el文件生成了,内容如下:
(jde-project-file-version "1.0")(jde-set-variables '(jde-sourcepath '("/home/dean/work/gitlab_cloud/android/example/mvn_example1/src/test/java" "/home/dean/work/gitlab_cloud/android/example/mvn_example1/src" )) '(jde-global-classpath '("/home/dean/.m2/repository/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar" "/home/dean/.m2/repository/org/apache/httpcomponents/httpclient/4.0.1/httpclient-4.0.1.jar" "/home/dean/.m2/repository/xerces/xmlParserAPIs/2.6.2/xmlParserAPIs-2.6.2.jar" "/home/dean/work/gitlab_cloud/android/example/mvn_example1/target/test-classes" "/home/dean/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar" "/home/dean/work/gitlab_cloud/android/example/mvn_example1/target/classes" "/home/dean/.m2/repository/org/khronos/opengl-api/gl1.1-android-2.1_r1/opengl-api-gl1.1-android-2.1_r1.jar" "/home/dean/.m2/repository/com/google/android/android/4.1.1.4/android-4.1.1.4.jar" "/home/dean/.m2/repository/org/json/json/20080701/json-20080701.jar" "/home/dean/.m2/repository/xpp3/xpp3/1.1.4c/xpp3-1.1.4c.jar" "/home/dean/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar" )))
好,现在打开mvn_example1/工程的一个java文件, 看一下智能提示是否生效:
C-c v .
能够出现完成菜单。
配置成功。
具体使用细节请参考我之前的文章:
Emacs开发Java之使用
如何调试
先在~/.emacs.d/init.el中配置一下, 设置jdb为调试器, 调试端口为8700。
;; jdee(add-to-list 'load-path "~/.emacs.d/jdee-2.4.1/lisp")(load "jde")(custom-set-variables '(jde-debugger (quote ("jdb"))) '(jde-db-option-connect-socket (quote (nil "8700"))))(require 'android-mode)(setq android-mode-sdk-dir "/opt/android-sdk-linux/")
启动
andriod-start-emulator
android-start-ddms
一定要在DDM的窗口选中要调试的进程
调试使用的命令
mvn_example1$ jdb -sourcepath "/home/dean/work/gitlab_cloud/android/example/mvn_example1/src" -attach localhost:8700设置 未捕捉到 javamvn_example1$ jdb -sourcepath "/home/dean/work/gitlab_cloud/android/example/mvn_example1/src" -attach localhost:8700设置 未捕捉到 java.lang.Throwable设置延迟的 未捕捉到 java.lang.Throwable正在初始化 jdb....lang.Throwable设置延迟的 未捕捉到 java.lang.Throwable正在初始化 jdb...
由于jdee的jde-jdb-attach-via-socket使用的命令是:
jdb -connect com.sun.jdi.SocketAttach:port=8700
无法连接android 里的 jvm。
经过实验,需要加一个参数就可以连接:
jdb -connect com.sun.jdi.SocketAttach:port=8700,hostname=localhost
因此修改jdee的配置,在init.el中如下配置:
;; jdee(add-to-list 'load-path "~/.emacs.d/jdee-2.4.1/lisp")(load "jde")(custom-set-variables '(jde-db-option-connect-socket (quote ("localhost" "8700"))) '(jde-debugger (quote ("jdb"))))
现在jde-jdb-attach-via-socket命令成功了。
0 0
- Emacs用JDEE编写Android程序
- JDEE in Emacs
- Emacs 24.3 配置JDEE
- Emacs安装CEDET与JDEE
- Emacs中JDEE的配置
- emacs编写C程序
- Emacs之JDEE大餐烹饪方法
- emacs中JDEE编译错误信息的解决办法
- emacs编写java swing程序
- Ubuntu下用Emacs编写D语言程序
- emacs的java编程环境设置(jdee,lib,cedet,ecb
- GNU Emacs下设置Java编程环境(JDEE)
- 使用emacs编写c程序并编译
- 用Maven生成JDEE工程文件
- 使用emacs编写第一个hello的C程序
- 用emacs写C程序
- 用Android Studio编写java程序
- 用Android Studio编写java程序
- 每日一个C++小程序(四)--DOG类
- 当前顶尖的聊天机器人
- HTTP的GET和POST请求
- C++采用引用计数进行内存管理
- 每日一个C++小程序(五)--根据坐标求矩阵面积
- Emacs用JDEE编写Android程序
- linux free命令与内存机制
- 在spring中映射X.hbm.xml文件的小技巧
- libgdx 打飞机游戏实现教程
- 每日一个C++小程序(六)--基本菜单程序
- Red Hat 7壁纸分享
- hdu A Mathematical Curiosity
- 顶级程序员的10条最佳实践
- 每日一个C++小程序(七)--计算两点距离(友元函数)