类加载器,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 &
分享到:
相关推荐
面试需要了解的东西.docx面试需要了解的东西.docx面试需要了解的东西.docx面试需要了解的东西.docx
简单了解OpenCV是个什么东西
栈集合 其他自行了解啊,相关一些东西。
认识j2ee的规范是每个j2ee爱好者都应了解的东西
初步的带新人了解JAVA,了解下很基础的一些东西。
很有帮助的一个东西饿,J2EE的东西大家可以参考下,大家给点意见
NULL 博文链接:https://ye-guanwen.iteye.com/blog/1132661
(如果你想当老总就需要好好研究了,系统分析员比编码员要高一个等级,薪水也高哟) 15、数据库的概念。(要熟悉一些著名的数据库系统和语言的名字,如Orcle,SQL,DB2,DyBase等) 16、了解网络概念。 17、了解...
web开发中需要知道的东西,这张图片尽可能简要的列出了作为一个web开发者所应了解及懂得的相关技术和概念。十分好的东西
活动目标:发现生活周围到处有圆,了解圆和我们生活的关系。 活动准备: ppt,黑板,长板凳,图片(圆圆的东西),毛根,报纸,糖果纸,彩色手工纸,剪 刀,水彩笔,玻璃胶,丝带,金银粉,彩色珠子,长条纸,...
继电保护的基础知识,杂七杂八的东西,只需要简单了解的网友可以看看
一个帮助大家了解自己专业的思维导图 如果你和我一样,在大学前面的一年里处于迷茫,不知道如何...我深知很多东西,大学老师讲的都是太浅了,要想知道很多东西,必须通过不断提高自己熟练掌握资源,运用资源的能力。
STL是学习ACM中需要了解的一个东西。
在服务器上生成动态内容是使用ASP最主要的原因之一,所以我们选择的第一个测试项目是确定把动态内容发送到应答流使用什么方法最好。基本的选择有两种(以及它们的一些变化):使用内嵌ASP标记,使用Response.Write...
东西。RAM 主要的作用就是存储代码和数据供 CPU 在需要的时候调用。但是这些数据并不 是像用袋子盛米那么简单,更像是图书馆中用有格子的书架存放书籍一样,不但要放进去还 要能够在需要的时候准确的调用出来,虽然...
在解决笔记本按键失灵总是自动打开东西的问题之前,我们需要了解设备管理器的作用。设备管理器是Windows操作系统中的一个重要组件,负责管理计算机中的硬件设备。设备管理器可以帮助我们查看计算机中的设备信息,...
我学习压缩感知第一次调代码用的代码,有疑问可以交流讨论。对于新手很有帮助
交换机tftp软件交换机tftp软件交换机tftp软件交换机tftp软件交换机tftp软件
快来下载哦!好东西,帮你更好的了解GridView
51单片机教程 对单片机进行初步了解 了解单片机的有关东西