首先需要下载Android的代码并且编译好,因为要用到一些编译完成的class.jar文件,然后讲packages/apps/Launcher2整个文件夹拷贝到

一个目录中,注意这个目录不能是Eclipse的工程目录,不知道为什么使用这个目录后不能创建Launcher2的工程,

可以先讲代码放到其他文件夹下,比如个人目录下,等创建完成后再移入workspace下,然后导入这里面的工程即可.

1.将Launcher2代码拷贝到一个目录中然后新建一个Android工程Launcher2,

选择从现有代码创建,工程路径指定为拷贝出来的Launcher2代码目录,然后点击Finish完成工程的创建.

这时候可以先删除掉这个工程,讲代码文件移入workspace,然后在eclipse中import这个工程,注意需要选择从现有代码导入.

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

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

首先需要编译好android代码,编译完成后会生成一些包文件,

这里我们用到的有:(生成的包的路径为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


为了避免与系统默认的包名冲突,所以需要进行修改。
1。在src/com.android.launcher上点击右键,"Refactor" -> "Rename...",名字可以自定义(我这里改成com.study.launcher),选项选择(全选上)

2。点击"Preview>",进行预览(途中弹出警告的话,不用管,继续"Countinue"),这里要去掉一些不必要的修改,否则就会改乱了

3。新出来的界面可能会有Android Package Rename 根节点,去掉它的子节点AndroidManiFest.xml前的勾选。然后OK,可能会弹出错误,直接Abort。

4。在gen/com.android.launcher上点击右键,"Refactor" -> "Rename...",名字可以自定义(我这里改成com.study.launcher),选项选择(全选上)

5。同上,这里要取消两个根节点:Manifest.java 和 R.java 前的勾选。同样OK下去。

***********************************************

做完这些就可以RUN运行了。

总结一下:主要是按照上面两个地址的方法,但有几个那两篇文章里没说到的地方需要注意,否则就出错了。

1。要导入的包有三个,不是其中一篇说的一个;

2。在导入包的时候,一定要选上System Library,两篇文章都没提到,但如果不选的话红叉也会消失,可编译时会提示一个错误Conversion to Dalvik format failed with error 1。用网上的方法全都不行,最后勾上那勾解决了。

3。重命名包名,其中一篇文章只说了重命名一个包名,另一篇文章说了要命名两个包名但没说怎么做,合并一下就好了。


2.重名包名
为了避免与系统默认的包名冲突,所以需要进行修改。
在src/com.android.launcher上点击右键,"Refactor" -> "Rename...",名字可以自定义(我这里改成com.study.launcher),选项如下图选择(全选上):



点击"Preview>",进行预览(途中弹出警告的话,不用管,继续"Countinue"),这里要去掉一些不必要的修改,否则就会改乱了。

进入到这么一个界面:



找到以下选项,去掉前面的钩子:





点击"OK",等待处理完毕...

ps:过程中可能会弹出这样一个错误提示,直接"Abort"就好:



*结束后可能会弹出这样的提示框:


点“Yes”。


最后修改AndroidManifest.xml
去掉其中的"android:sharedUserId="android.uid.shared"":


自己写的launcher启动时报错如下:

[2011-03-03 19:47:46 - Launcher] Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER
[2011-03-03 19:47:46 - Launcher] Please check logcat output for more details.
[2011-03-03 19:47:47 - Launcher] Launch canceled!

原因是有一个同名的launcher存在。

解决办法:

修改AndroidManifest.xml

<!-- The settings provider contains Home's data, like the workspace favorites -->
<provider
android:name="com.legends.launcher2.LauncherProvider"====》android:name="com.legends.launcher2.LauncherProvider“

android:authorities="com.legends.launcher2.settings""====》android:authorities="com.legends.launcher2.settings"
android:writePermission="com.unique.launcher.permission.WRITE_SETTINGS"
android:readPermission="com.unique.launcher.permission.READ_SETTINGS" />

</application>
</manifest>

重新运行即可



更多相关文章

  1. Android用户界面设计学习之旅-第二站
  2. Eclipse导入Android文件出错!Project has no default.properties
  3. 安卓开发工程师必备技能——框架,看看你都掌握了哪些
  4. 解决:eclipse导入android时工程下没有R文件的问题,以及style.xml文
  5. android,代码混淆,反编译,ADT 20版本
  6. android Canvas中的clipRect、drawBitmap
  7. AndroidActivity跳转动画,让你的APP瞬间绚丽起来
  8. 【Android开源项目解析】仿支付宝付款成功及"天女散花"效果实现
  9. OPhone/Android的学习(2)—从分析Eclipse自动生成的代码到以XML

随机推荐

  1. Android官方文档—APP组件(Services)(AIDL)
  2. Android(安卓)学习笔记(二七):Menu
  3. 从iOS角度思考Android
  4. Android(安卓)RxJava:详解 条件 / 布尔操
  5. 如何编写高效的Android代码
  6. 浅析Android(安卓)View(一)
  7. Glide详细了解优缺点
  8. DynamicAPK基本概念
  9. Android手机开发总结
  10. Java内部类精炼详解—由Android点击事件