Emacs用JDEE编写Android程序
版权声明:本文为博主原创文章。未经博主同意不得转载。
https://blog.csdn.net/sheismylife/article/details/24842669
前文介绍了怎样用Maven构建Androidproject。如今进一步介绍怎样使用JDEE编敲代码。
Ubuntu 14.04 Android 使用Maven二 创建自己的Mavenproject
怎样安装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 mavenproject文件夹, 执行以下的命令:
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/project的一个java文件。 看一下智能提示是否生效:
C-c v .
可以出现完毕菜单。
配置成功。
详细使用细节请參考我之前的文章:
怎样调试
先在~/.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命令成功了。
最新文章
- vps推荐之DigitalOcean
- 新技能get——斜率优化
- SQLServer事务
- IOS 杂笔-4(属性与成员变量的区别)
- $(document).ready() 与 window.onload的区别
- hdu 4324 Triangle LOVE
- style、currentStyle、getComputedStyle区别介绍
- 关于void*函数返回
- Javascript常用正则表达式
- win7如何清理图标缓存
- struts2 模型分配问题和延迟加载问题
- CentOS下SparkR安装部署:hadoop2.7.3+spark2.0.0+scale2.11.8+hive2.1.0
- 【ASP.NET 系列】浅谈缓存技术在ASP.NET中的运用
- js基础--javaScript数据类型你都弄明白了吗?绝对干货
- 三、oneinstack
- 【2016.3.16】作业 VS2015安装&;单元测试(1)
- git的安装以及入门
- WIN32,_WIN32_WIN64
- python 文件的打开与读取
- C++ Rule of Three
热门文章
- spark dataframe 将null 改为 nan
- 微信小程序--导航跟随
- 原生JS实现简易计算器
- 第一个SpringBoot插件-捕获请求并且支持重新发起
- 解读Python中 locals() 和 globals() 内置函数
- 2018-10-20-C#-从零开始写-SharpDx-应用-初始化dx修改颜色
- Matlab中的cell、size函数
- 通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能&#39;menufile
- 【笔记】LR响应时间
- 彻底删除 Git 项目中的文件(BFG Repo-Cleaner 用法)