在eclipse中导入android4.0中的Launcher2并且编译运行

首先需要下载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>

重新运行即可



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值