zoukankan      html  css  js  c++  java
  • Emacs用JDEE编写Android程序

    版权声明:本文为博主原创文章。未经博主同意不得转载。

    https://blog.csdn.net/sheismylife/article/details/24842669

    前文介绍了怎样用Maven构建Androidproject。如今进一步介绍怎样使用JDEE编敲代码。

    Ubuntu 14.04 Android 使用Maven二 创建自己的Mavenproject

    怎样安装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 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开发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命令成功了。


查看全文
  • 相关阅读:
    jQuery 源码解析(二十四) DOM操作模块 包裹元素 详解
    jQuery 源码解析(二十三) DOM操作模块 替换元素 详解
    jQuery 源码解析(二十二) DOM操作模块 复制元素 详解
    jQuery 源码分析(二十一) DOM操作模块 删除元素 详解
    jQuery 源码分析(二十) DOM操作模块 插入元素 详解
    jQuery 源码分析(十九) DOM遍历模块详解
    python 简单工厂模式
    python 爬虫-协程 采集博客园
    vue 自定义image组件
    微信小程序 image组件坑
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10500714.html
  • Copyright © 2011-2022 走看看