`
wujiangming
  • 浏览: 14280 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

需要了解的东西

阅读更多
类加载器,class,method invoke,constructor,aop


怎样用eclipse来开发android源码

  1、建立基本的android开发环境

  请参考官方文档或<android模拟器在ubuntu8.10的安装>

  2、编译android源码

  android源码根目录下通过make进行编译,请注意一些配置,具体可参考<android源码的编译>
$ make PRODUCT-sdk-sdk
编译完成后会在/work/mydroid2.2/out/host/linux-x86/sdk/目录生成sdk

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

  cp development/ide/eclipse/.classpath ./

  chmod u+w .classpath  # Make the copy writable
删除下面两行
<classpathentry kind="lib" path="out/target/common/obj/JAVA_LIBRARIES/google-common_intermediates/javalib.jar"/>
<classpathentry kind="lib" path="out/target/common/obj/JAVA_LIBRARIES/gsf-client_intermediates/javalib.jar"/>
添加 <classpathentry kind="lib" path="out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/javalib.jar"/>
  4、修改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->Code style->Formatter中导入android-formatting.xml

  在window->preferences->java->Code style->Organize Imports中导入android.importorder

  3)、安装anyedit插件(可选)

  在http://andrei.gmxhome.de/anyedit/下载并导入eclipse中

  5、把android源码作为一个工程导入eclipse

  导入前先检查.classpath里的文件在android源码中是否有相应的文件(文件夹),否则也会破坏android源码(一般是多添加文件/文件夹),.classpath里多余的路径可删除

  新建Java Project(不是android project,否则会破坏android源码),选择从已存在的工程导入,工程名任意,完成。

  eclipse要设置为不要自动编译,即Project菜单中的Build automatically要去掉勾。

  6、在eclipse中修改

    导入源代码之后,可以点build编译一次,一般编译之后还是有错的。可以在eclipse中修改。
    展开packages/providers/CalendarProvider/src
    展开包: com.android.providers.calendar
    右键点击包com.android.providers.calendar
    选择 "new file"
    在对话框中选择点击  "Advanced >>" 按钮, 可以看到"Link to file in the file system" checkbox,
  勾选上 checkbox.  这时 "Browse..." 可用.
    点击 "Browse..." 按钮,选择EventLogTags.java (e.g.,out/target/common/obj/APPS/CalendarProvider_intermediates/src/src/com/android/providers/calendar/EventLogTags.java)
    点击OK
    点击 Finish (in "New File")


    同样的方式修改com.android.providers.contacts的问题

   7、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->Remote java application上双击,然后,”Host:”设为localhost,”Port:”设为8700,”Connection Type”为Standard(Socket Attach)

  然后“Apply”

  注意,在点击”Debug”时苦出错,说8700端口被占用,那么把DDMS程序关掉,重新打开DDMS就OK了。如果提供连不到VM错误时,请注意,要先在DDMS中选中某一进程(对应某一应用程序),才能在eclipse执行 Debug。

  在eclipse调试时,可以设断点、单步调试。估计google团队也是这样开发、调试android应用程序的

启动模拟器:
./out/host/linux-x86/bin/emulator -avd android2.2 -kernel ./prebuilt/android-arm/kernel/kernel-qemu -ramdisk ./out/target/product/generic/ramdisk.img -system ./out/target/product/generic/system.img -skin ./sdk/emulator/skins/HVGA  -sdcard ./out/host/linux-x86/bin/sdcard.img &
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics