系统应用程序导入Eclipse

来源:互联网 发布:淘宝拍卖会 编辑:程序博客网 时间:2024/06/05 15:36

Android系统应用程序Eclipse开发环境的搭建

首先,将要修改的应用程序,从alps(源码根路径)\packages\apps目录下拷贝到本地机子上,然后在Eclipse新创建一个Android项目,选择Create project from existing source引进该应用程序,如图:

一般情况下,只需要将alps(源码根路径)\out\target\common\obj\JAVA_LIBRARIES\路径的下面2个文件夹 core_intermediates , framework_intermediates 下的classes.jar文件,分别重命名为core.jar , framework.jar。再将工程默认的android.jar移除,加上这2个jar就可以了。

1) alps\out\target\common\obj\JAVA_LIBRARIES\core_intermediates, 把class.jar拷贝出来改名为core.jar

2) alps\out\target\common\obj\JAVA_LIBRARIES\framework_intermediates, 同样把class.jar拷贝出来,改名为framework.jar

3) 若需要其它的 jar 包,按 1)2)方法在alps\out\target\common\obj\JAVA_LIBRARIES\找到相应的jar包导入到项目中

3) 在 eclipse 里面添加一个新的 user library. 如名字为 android-lib(可以自己命名)

4) 把这个 android-lib 设置为 system library. 并把 core.jar 和 framework.jar 添加到这个 android-lib 里面。

5) 在您工程里面把原来的 android library: android2.1-update1 或者如 android2.2 移除掉,然后把新的 android-lib 添加到您的工程。

6) Enjoy debugging.

如果还有找不到的类,可以先看这个类是在哪定义的,再到alps\out\target\common\obj\目录下的APPS或JAVA_LIBRARIES两个目录下搜索所要的类,然后将搜索到的类引到项目中。特别需要注意EventLogTags.java这个文件,该文件是系统编译时生成的,每个应用都会对应不同的EventLogTags.java,因此要保证所找到文件是该项目所需要的文件。

对于.aidl文件的处理:一般.aidl文件报错的原因是在引进其他.aidl文件的时候找不到对应的aidl文件,这种情况只需将相应的aidl文件拷贝到项目下面并相应的在src下面创建该aidl文件相应的包名,并将该aidl文件移到新建的包里面。

 

 

将android launcher2导入eclipse中运行

1.将Launcher2项目导入eclipse中
这时候Launcher2工程已经导入到eclipse中了,不过这时候会有100多个错误.


2.添加Launcher2使用的包文件。

由于在Android源码中,很多方法、成员、类、包都被打上@hide标签,这些成员在SDK中没有公开,以至于在编译Launcher源码时最常遇到的类android.view.View的成员mScrollX无法访问。因此首先需要下载Android的代码并且编译好,因为要用到一些编译完成的class.jar文件

这里我们用到的有:(生成的包的路径为out/target/common/obj/JAVA_LIBRARIES)
1)framework_intermediates/classes.jar :这个主要是android的框架类
2)android-common_intermediates/classes.jar :这个包含com.android.common.Search这个类
3)core_intermediates/classes.jar :这个包包含dalvik.system.VMRuntime这个类

这些都是需要导入到工程里面的包,这个可以通过配置工程的Build Path来加入,
右键工程名称然后选择Build Path->Configure Build Path...->Libraries->Add Library->User Library->User Libraries...->New...
然后将上面3个依赖的包一个个的加入进来,分别命名为android_framework,android_common,android_core.
将3个包加入进来后,然后还需要将它们放到android2.3.3这个包的前面,可以在Build Path配置中选择Order and Export
这时候就会发现Launcher2工程以及没有错误了,也可以编译了。
3.修改Launcher2包名称,在模拟器上运行更改后的Launcher2.

改掉原始包的名字,切记使用eclipse的重命名机制(在包名上按F2可修改),不仅是类的引用,还有很多xml文件内部的引用(如import com.android.launcher3.R;),只要重命名不错,这些都可以一次性搞定的。

New name填写你自己的包名,把下面四项全部勾选。点击“Preview”

特别注意:你的项目最好不要放在中文路径下,不然rename时会出错,我就是开始放在中文路径下出错弄了很久才发现错误!

4.AndroidManifest.xml文件里面,找到这句话删除掉。(android:sharedUserId="android.uid.shared")

这样就大功告成了,我是用2.3的launcher来做实验的,结果没问题,运行成功!

原创粉丝点击