`
notfatboy
  • 浏览: 235272 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转载)怎样使用Eclipse来开发Android源码 + 注释

阅读更多

用eclipse+ADT作为android开发工具,可以说是很方便的,在HelloActivity小程序里我们就感觉到eclipse功能的强大。 那么,我们可以用eclipse来开发android源码吗?如果我们直接把android源码里一个工程导入eclipse,一般来说都会出现错误,说 许多类库(包)找不到。


  今天找到关于怎样使用eclipse来开发android源码的官方文档:
  https://sites.google.com/a/android.com/opensource/using-eclipse


  从该文档和实践可以总结出几点:
  1、可以使用eclipse来编辑JAVA程序、检查错误(主要是类库包含和语法方面),但是不能在eclipse上编译运行android源码,还是得在shell中make(或mm或mmm)

  2、android源码文件夹里提供有一些eclipse配置文件,
  .claapath:eclipse工程的配置文件,方便我们直接把android源码相应的文件和JAVA包导入工程
  android-formatting.xml和android.importorder:这个很重要,主要是用来规范我们的编码风格,更容易使我们的代码风格一致

  3、把android源码作为一个工程导入eclipse时,必须注意两点
  1)、新建的工程必须是javaproject,不能是androidproject,否则会破坏android源码(一般是多添加文件/文件夹)
  2)、导入前最好检查.classpath里的文件在android源码中是否有相应的文件(文件夹),否则也会破坏android源码(一般是多添加文件/文件夹)




  总的来说:
  1、用eclipse来编辑代码、检查错误
  2、不在eclipse上编译、运行android源码程序,只能在命令行通过make(或mm或mmm)编译android源码
  3、可以在eclipse上调试android源码程序(原理:eclipse通过ddms服务器在emulator上进行调试),并可以单步调试、断点调试。




  下面,从官方文档总结出具体怎样用eclipse来开发android源码

  1、建立基本的android开发环境
  请参考官方文档或<android模拟器在ubuntu8.10的安装>



  2、编译android源码
  android源码根目录下通过make进行编译,请注意一些配置,具体可参考<android源码的编译>
      注释:我在编译的时候总是报错,后来发现是jdk版本的问题,我们需要用1.5的JDK。在Ubuntu上可以通过:

sudo update-alternatives --config java



     来选择java版本。之后编译应该就没有问题了。

  3、把eclipse工程配置文件复制到android源码根目录下

      注释:development folder是在Android源码根目录下。所以先要进入源码根目录再之下下面的操作
  cp development/ide/eclipse/.classpath ./
  chmod u+w .classpath # Make the copy writable



  4、修改eclipse程序的配置

       注释:这个eclipse.ini文件在Ubuntu上是在/usr/lib/eclipse目录下。
  1)、修改eclipse缓存设置
  把eclipse.ini(在eclipse软件的安装目录下)的3个值改为下面的值:
  -Xms128m
  -Xmx512m
  -XX:MaxPermSize=256m

  2)、把android-formatting.xml和android.importorder导入eclipse
  android-formatting.xml、.classpath和android.importorder都放在development/ide/eclipse/下
  android-formatting.xml用来配置eclipse编辑器的代码风格;android.importorder用来配置eclipse的import的顺序和结构。
  在window->preferences->java->Codestyle->Formatter中导入android-formatting.xml
  在window->preferences->java->Codestyle->OrganizeImports中导入android.importorder

  3)、安装anyedit插件(可选)
  在http://andrei.gmxhome.de/anyedit/ 下载并导入eclipse中



  5、把android源码作为一个工程导入eclipse
  导入前先检查.classpath里的文件在android源码中是否有相应的文件(文件夹),否则也会破坏android源码(一般是多添加文件/文件夹),.classpath里多余的路径可删除
  新建JavaProject(不是androidproject,否则会破坏android源码),选择从已存在的工程导入,工程名任意,完成。
  导入时,eclipse要build工程,比较慢。导完后,一般都没有错误。


  6、eclipse上调试android里的程序。
  先执行:
  cd android源码目录
  . build/envsetup.sh
  lunch 1 # to build the emulator
  emulator & # you should see a GUI picture of a phone
  ddms & # you should get a splufty debugging console
  然后在eclipse中配置调试类型和端口:
  在Run->Debug Configurations->Remotejavaapplication上双击,然后,”Host:”设为 localhost,”Port:”设为8700,”ConnectionType”为Standard(SocketAttach)
  然后“Apply”
  注意,在点击”Debug”时苦出错,说8700端口被占用,那么把DDMS程序关掉,重新打开DDMS就OK了。如果提供连不到VM错误时,请注意,要先在DDMS中选中某一进程(对应某一应用程序),才能在eclipse执行Debug。
  在eclipse调试时,可以设断点、单步调试。估计google团队也是这样开发、调试android应用程序的



  7、编译android源码
  执行:
  cd android源码目录
  . build/envsetup.sh
  那么就会多出mm/mmm等命令,mm/mmm用来编译模块(包括C、C++、JAVA程序)。我们也可以直接在android源码根目录下执行“make模块名”来编译模块。

分享到:
评论

相关推荐

    基于Android的gallery重叠特效源码+注释.zip

    适合毕业生学习和参考,可以使用Android Studio、Idea、Eclipse,建议使用前两个

    基于SSM+Vue+Android的家庭理财系统APP源码+数据库+文档.zip

    包含:项目源码、数据库脚本、开发说明文档、LW、PPT、代码注释等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 本系统主要功能模块如下: app端: 在app首页可以查看首页、我的、个人中心、...

    Android应用源码蓝牙聊天通讯有注释项目源码.rar

    Android应用源码蓝牙聊天通讯有注释项目源码可以实现两个蓝牙间的单方面通讯,项目源码注释比较清晰,核心代码也已经封装成类了,看完本套源码应该可以很快上手蓝牙相关功能。Android对于蓝牙开发sdk最低支持是2.0,...

    Android 4.0 Launcher2 源码 Eclipse版

    有部分代码已经注释,完美导入Eclipse

    android4.3 Eclipse查看源码

    Eclipse查看源码和注释方法: 1.在SDK目录下建立sources文件夹,把下载的压缩包文件拷贝到sources文件夹下; 2.代码中任意一个Android系统类[CTRL+鼠标左键]-->[Change Attached Source]-->[External Location...

    Android快速开发框架,Android Studio、Eclipse多平台支持。MVP架构的Android开发框架,带注释、OKHttp、图片加载、自动缓存

    Android快速开发框架,Android Studio、Eclipse多平台支持。MVP架构的Android开发框架,带注释、OKHttp、图片加载、自动缓存以及各种Base、Demo、UI、Utils直接用.rar

    Android-app.rar

    Android项目源码 studio和eclipse双版本仿bilibili客户端 Android项目源码GPS实时定位位置共享 Android项目源码QQ登录语音合成桌面控件天气预报 Android项目源码v2ex技术社区非官方客户端 Android项目源码事件日程...

    android飞机大战源码,直接运行即可

    JAVA飞机大战源码,自己初学Android时候写的,直接在eclipse运行就能跑起来

    安卓手机安全卫士开发案例解析android全套项目实战源码

    包含整套安卓手机安全卫士android源码。解压后直接导入到eclipse即可,代码都有详细的注释,非常适合初学者学习安卓项目。 移动互联应用开发系列·Android项目实战:手机安全卫士开发案例解析 本源码通过对一款手机...

    Android项目源码头条新闻3.0客户端

    Android项目源码头条新闻3.0客户端是头条新闻3.0客户端,应该说这个应用太强大了,用到技术,引用开源库pulltoRefresh,上拉下拉刷新。并附带第三方登录。qq和微博,得自己为应用申请一个key.同时使用slideMenu+...

    Android应用源码仿唱吧部分布局界面项目.zip

    主要使用了fragment,slidemenu,viewpager,还有一些第三方的类库,源码导入eclipse以后有三个项目,在library项目的library里面要设置对actionbarsherlock的引用,在Green项目的library里要设置对library项目的引用...

    基于android的快递查询项目源码

    本项目基于安卓的快递查询项目源码,学生毕设作品,使用了爱查快递http://www.ickd.cn/的api接口,可以查询申通、EMS、顺风、圆通、中通、韵达、天天、汇通、全锋、德邦、宅急送等11中快递的单号信息,支持手动输入...

    Android项目源码带桌面工具的课程表程序.zip

    本项目是一个简单安卓的课表程序源码,内容及构造都较为简单,比刚发的这个记事本项目(http://www.javaapk.com/source/8634.html)涉及到的知识要多一些,但是作者打的注释很到位。80%以上的代码段都有注释,除了...

    基于Android开发的闯关类小游戏毕业项目

    这时本人的毕业项目,所有需要的都已上传,基于Android平台,可直接导入eclipse,也可把项目中的apk文件导入手机运行,游戏类项目、代码量一般、游戏关卡却极多,许多代码都有我的注释,可以自己加以修改,拓展性强...

    Android开发笔记 最好使用eclipse

    值得注意一点的是,虽然Myeclipse比eclipse功能更强大,但是在具体的安卓开发过程当中,最好还是选用... 您可能感兴趣的文章:Eclipse开发环境导入android sdk的sample中的源码Android Eclipse 注释模板的使用(图文说明

    使用Android 系统测量软件开发技术 [武安状 主编] 2014年版

    Android是美国Google公司开发的基于Linux平台的、开源的智能手机操作系统,作者以AndroidSDK+Eclipse IDE+Windows7旗舰版为平台,总结了安卓开发经验与技术。《实用Android系统测量软件开发技术》共10章,系统地介绍...

    Android应用源码谷歌拼音输入法修改版

    代码相对较多,可是内部注释很详细,可直接在Eclipse中进行编译生成APK,使用了JNI,aidl的相关知识,代码条理清晰,方便大家理解以及借鉴使用。(源码采用GBK编码)。之前没有介绍过输入法项目,这是第一个。以后...

    Android应用源码谷歌拼音输入法修改版.rar

    Android应用源码谷歌拼音输入法修改版是一款调用底层设备使用了JNI的谷歌拼音输入法的项目源码。主要功能是可以设置输入法的输入类型,按键类型和中英文切换。代码相对较多,可是内部注释很详细,可直接在Eclipse中...

    Android例子源码2.3.34.1.2相机拍照返回

    本例子是安卓相机方面的源码3件套源码,包括一个2.3.3的系统相机源码一个4.1.2的系统相机源码,还有一个基于2.3.3的拍照剪裁图片的小例子,在剪裁完成保存环节好像有问题,没有仔细的去看源码。源码有简单的注释,...

    Android开发框架整合QuickAndroid.zip

    编译工具使用:Eclipse ADT Android SDK; 编译环境是Android 5.0(21),最低支持Android 2.2(8); 项目编码采用;UTF-8,源码带有中文注释; ...

Global site tag (gtag.js) - Google Analytics