Android Launcher研究二(编译Android4.0 launcher 源码 下)

本文详细介绍了如何修改Android 4.0 Launcher源码以避免与系统冲突,并通过调整包名、类引用和XML路径来解决安装错误。包括具体操作步骤、代码示例以及最终运行程序的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android 4.0 launcher 源码下载地址

http://download.youkuaiyun.com/detail/bobzyh/5838423


所用class.jar包下载地址

http://download.youkuaiyun.com/detail/bobzyh/5837883


修改后的可编译源码下载地址

http://download.youkuaiyun.com/detail/bobzyh/5839373


在上篇博客 Android Launcher研究一(编译Android4.0 launcher 源码 上)

介绍了如何将Android 4.0的源码导入到 eclipse中。

这时候如果要在模拟器中启动,还是不会成功。我们还要更改包名,以便与系统的launcher区分。


1。展开src 在com.android.launcher2 右键 -> Refactor -> Rename...


在弹出的 Rename Package 中填写新的名字。下面四项全部选中,如下图


点击Preview -> OK.


2。展开gen, 更改gen下的 包名为com.my.newlauncher

步骤如上。


3。将src下所有文件中的

类似

import com.android.launcher2.XXX;

import com.android.launcher.R;

的字段删掉。

注意:要删除所有文件中与上类似的地方。不要因为没有报错就不删除。


但有个别文件需要更改保留

(1) AppsCustomizePagedView.java

import com.android.launcher2.DropTarget.DragObject;

改为

import com.my.newlauncher.DropTarget.DragObject;


(2)CellLayout.java

import com.android.launcher2.FolderIcon.FolderRingAnimator;

改为

import com.my.newlauncher.FolderIcon.FolderRingAnimator;


(3)DragSource.java

import com.android.launcher2.DropTarget.DragObject;

改为

import com.my.newlauncher.DropTarget.DragObject;


(4)Folder.java

import com.android.launcher2.FolderInfo.FolderListener;

改为

import com.my.newlauncher.FolderInfo.FolderListener;


(5)FolderIcon.java

import com.android.launcher2.DropTarget.DragObject;
import com.android.launcher2.FolderInfo.FolderListener;

改为
import com.my.newlauncher.DropTarget.DragObject;
import com.my.newlauncher.FolderInfo.FolderListener;


(6)Launcher.java

import com.android.launcher2.DropTarget.DragObject;

改为

import com.my.newlauncher.DropTarget.DragObject;


(7)LauncherAppWidgetHostView.java

import com.android.launcher2.Launcher.Padding;

改为

import com.my.newlauncher.Launcher.Padding;


(8)LauncherModel.java

import com.android.launcher2.InstallWidgetReceiver.WidgetMimeTypeHandlerData;

改为

import com.my.newlauncher.InstallWidgetReceiver.WidgetMimeTypeHandlerData;


(9)LauncherProvider.java

import com.android.launcher2.LauncherSettings.Favorites;

改为

import com.my.newlauncher.LauncherSettings.Favorites;


(10)Workspace.java

import com.android.launcher2.FolderIcon.FolderRingAnimator;
import com.android.launcher2.InstallWidgetReceiver.WidgetMimeTypeHandlerData;

改为
import com.my.newlauncher.FolderIcon.FolderRingAnimator;
import com.my.newlauncher.InstallWidgetReceiver.WidgetMimeTypeHandlerData;


4。将res 下的所有有错误文件中

形如

</com.android.launcher2.AppsCustomizeTabHost>

改为

</com.my.newlauncher.AppsCustomizeTabHost>


5。再将res 下所有报错文件中

形如

<TextView xmlns:android="http://schemas.android.com/apk/res/android"

删掉 
 xmlns:android="http://schemas.android.com/apk/res/android"


上述五步完成之后如果还有错误就 Clear Lint Markers 一下。


6。运行程序

报错:
Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER

有重名provider。


打开AndroidManifest.xml 将

android:authorities="com.android.launcher2.settings"

改为
android:authorities="com.my.newlauncher.settings"


顺便把

<original-package android:name="com.android.launcher2" />

改为
<original-package android:name="com.my.newlauncher" />


保存后

<uses-permission android:name="android.permission.BIND_APPWIDGET" />

这一行报错。 Clear Lint Markers 一下。忽略之。


运行程序。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bobzyh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值