当前位置: 代码迷 >> Android >> 怎么编译运行Android系统自带桌面Launcher2源码
  详细解决方案

怎么编译运行Android系统自带桌面Launcher2源码

热度:18   发布时间:2016-05-01 12:29:39.0
如何编译运行Android系统自带桌面Launcher2源码

?

?

?

?

本文出自:http://blog.sina.com.cn/s/blog_4b650d650100nstz.html

转载请注明转自

Eagle的BLOG

.

?

Android的源码包,压缩文件大概有3个G左右,要使用其中自带的一些源码需要很多技巧,否则会提示找不到一些库,大量的报错让人心神不定,不知所从.

????我拿桌面代码举个例子吧.

????桌面代码在源码包的packages\apps\Launcher2目录下.当然如果要想在Eclipse中使用,要把Launcher2拷贝到Eclipse工作目录下打开才行.不过一般来讲,Android的Sample以及自身的源码项目需要一些技巧才能打开,大家可以在网上搜一下,我以前记不清是不是曾经讲过了.

????1.将Laucher2拷贝到Eclipse工作目录下.

?? ? ?这一步可以不需要指定到工作目录下,可以解压到系统的任何地方.

?? ? ?Eclipse >> File >> New >> Android Project

?? ? ?* ProjectName 可以不填

?? ? ?* Contents 选择 Create project from existing source

?? ? ? ?下面选择你存放源码的路径.

?? ? ?* Next >> Finish.

????2.将虚拟机编译在android_froyo/out/target/common/obj/JAVA_LIBRARIES/framework_in
termediates/下编译的classes.jar改个名字classes-framework拷贝到sdk/platforms/android-8目录下.

?? ?* 拷出来的包,也可以随便放,或,不拷出来也行.主要用于下面新建user libraris...????

?

?? ?3.点击Eclipse-->Project-->Properties菜单,弹出下面对话框(图1)

?? ?/img/2012/11/10/1413441315.jpg

?

????4.点击Add Library...,选择User Library,点击Next

????5.弹出新对话框"Add Library",点击User Libraries...(图2)

?? ?/img/2012/11/10/1413441316.jpg

?

????6.选择New...(图3)

?? ?/img/2012/11/10/1413441317.jpg
????7.填入framework,点击OK

?? ? ?* OK后可以通过向Library里添加刚才的jar包完成此操作.

????8.回到图1界面(图4)

?? ?/img/2012/11/10/1413441318.jpg
????9.选择Order and Export标签,选中framework,并点击Up,将framework移到到最上面,然后点击OK

?? ? ?* framework 不需要最上,但一定要在Android 2.2的LIB之上.

????10.运行Launcher2项目,会有两个报错,将报错行注释掉,从新运行.

?? ? ?* 不需要运行也会出错,在源码里面的Launcher类里,有两行关于Search类的代码.

????11.运行后发现无法加载Launcher2.

?? ? ?* 这里的原因是跟原本在系统中的Launcher重复了. 所以需要用到下面的更改包名.

????12.点击包名,按F2键,将src目录下包名改为com.eagle.launcher3.

?

/img/2012/11/10/1413441319.jpg????

????13.之后,对项目进行Build Project....直到没有错误位置,然后再收缩所有文件,将android.laucher2改为eagle.launcher3

????14.接下来对gen目录下的com.android.launcher目录按步骤12的方法将其名字改为com.eagle.launcher4,呵呵,好玩吧.再重复步骤13.如果在build的时候从新生成了com.android.launcher目录,则删掉它.

????15.最后开始运行项目,如有报错,在寻找未必替换的内容.直到成功.

????16.最后,程序就可以运行啦....呵呵.下面的图就是我按这样的方法运行起来的launcher,只是名字不同而已

?? ?/img/2012/11/10/1413441320.jpg

?

再次感谢作者.

?

  相关解决方案