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来做实验的,结果没问题,运行成功
把安卓源码中的system app独立出来,像开发普通app那样开发,布布扣,bubuko.com
把安卓源码中的system app独立出来,像开发普通app那样开发
原文地址:http://blog.csdn.net/gogler/article/details/38730445