ROM定制中高级教程,如何自定义桌面快捷方式

发布时间:2012-11-10 21:19:55

ROM定制中高级教程,如何自定义桌面快捷方式!!

好久没发帖子了,今天就讲讲如何自定义桌面快捷方式(感谢猩猩大师的指导),希望能给刚刚学定制ROM的兄弟提供帮助!



准备工作:

1.配置好JAVA环境不会的看这个帖子:http://bbs.anzhi.com/forum.php?mod=viewthread&tid=37975&highlight=%B4%F3%D0%C7%D0%C7

2.下载aapt.exe!这个工具一般在SDKplatforms下的tools下面有,我这里放上一个:aapt.rar(1.61 MB, 下载次数: 1032)

2011-11-20 11:06 上传

下载次数: 1032

下载积分: 金币 -1

,这个文件放在你的CMD工作目录下!

3.下载emeditor之类的文本编辑器,用来编辑XML文件!



以上工作准备完毕了那么就正式开始工作了!!



注:我的电脑系统XP3,修改sense的桌面快捷方式!



第一步:打开system/customize/MNS/default.xml:如图:



2011-11-20 11:29 上传

下载附件 (80.98 KB)





第二步:点击搜索:搜索找到桌面定义部分,如图:

2011-11-20 11:36 上传

下载附件 (37.9 KB)





2011-11-20 11:36 上传

下载附件 (58.49 KB)







第三步:然后在桌面定义部分中找”,这个是场景

第四步:假设要修改的快捷方式所在的场景是HTC,排在3中找到位置的第一个(HTC),记住是1

第五步:然后看,这里面定义的就是第一个场景里面的快捷方式,这里就是HTC这个场景了。

第六步:看个所包含的快捷方式的例子:如图:

2011-11-20 11:46 上传

下载附件 (127.36 KB)





这个就是场景一里面包含的应用程序了!

我们一安智市场为例,我想把安智市场从左往右的第四个该怎么弄呢?

首先要确定你这个系统这个位置有没有程序了,如果有那就简单了直接修改就行了,如果没有就直接加上以下的...修改同理按照以下的修改就行了:





cn.goapk.market

cn.goapk.market.GoApkLoginAndRegister

3

3

2

0





现在就为大家逐一说明:

cn.goapk.market,这个是该apk的包名

cn.goapk.market.GoApkLoginAndRegister,这个是该apk启动时的activityaapt d badging GoMarket.apk可以看到(launchable-activity

3,这个定义该快捷方式显示在第几屏(从左往右数,第一个屏幕为0

3x轴的位置(从左往右数,第一个位置为0

2y轴的位置(从上往下数,第一个位置为0

0,该快捷方式的类型



如何得到APK的启动时的activity,这就要用到准备工作时第二步的aapt工具了,

将你要得到activityAPK放入和aapt统一的文件夹,就是你的工作文件夹,放入之后,,打开命令输入:CMD然后继续输入:aapt d badging cn.goapk.market.apk 如图:(因为我的软件名为cn.goapk.market.apk)

2011-11-20 12:05 上传

下载附件 (19.37 KB)





回车后就看见了:



2011-11-20 12:05 上传

下载附件 (46.33 KB)





我改后的截图:



2011-11-20 12:08 上传

下载附件 (464.55 KB)







教程到这里就结束了!下回分解自定义插件到桌面原理差不多,嘿嘿!有任何不懂的可以关注我微博,第一时间解答(卖广告)

改好的赶紧刷机试一试吧

weibo.com/cxbobo

t.qq.com/blessing

教大家给CM10添加归属地 ROM定制专用

CM10添加归属地的方法,希望可以帮到一些需要的朋友



CM10添加归属地方法;



1,提取system/app/Phone.apk,在用解压软件打开提取里面的classes.dex

2,安装我提供的反编译工具

3,鼠标放到classes.dex 上右键 执行反编译 之后会得到Smali_classes文件夹,找到里面com/android/phone/CallCard.smali文件

4,使用Notepad2文本软件打开CallCard.smali

下面的隐藏了哈,

本帖隐藏的内容

5,查找:

1. .method private static final showCachedImage(Landroid/widget/ImageView;Lcom/android/internal/telephony/CallerInfo;)Z

复制代码

在这个代码上面添加:

1. .method private setGeoDescription(Lcom/android/internal/telephony/CallerInfo;)V

2. .registers 5

3. .parameter "info"

4.

5. .prologue

6. const/16 v2, 0x8

7.

8. .line 36

9. if-nez p1, :cond_5

10.

11. .line 51

12. :cond_4

13. :goto_4

14. return-void

15.

16. .line 38

17. :cond_5

18. iget-object v0, p0, Lcom/android/phone/CallCard;->mCallTypeLabel:Landroid/widget/TextView;

19.

20. invoke-virtual {v0}, Landroid/widget/TextView;->getVisibility()I

21.

22. move-result v0

23.

24. if-ne v0, v2, :cond_4

25.

26. .line 39

27. iget-object v0, p1, Lcom/android/internal/telephony/CallerInfo;->geoDescription:Ljava/lang/String;

28.

29. invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

30.

31. move-result v0

32.

33. if-eqz v0, :cond_1e

34.

35. .line 40

36. invoke-virtual {p0}, Lcom/android/phone/CallCard;->getContext()Landroid/content/Context;

37.

38. move-result-object v0

39.

40. iget-object v1, p1, Lcom/android/internal/telephony/CallerInfo;->phoneNumber:Ljava/lang/String;

41.

42. invoke-virtual {p1, v0, v1}, Lcom/android/internal/telephony/CallerInfo;->updateGeoDescription(Landroid/content/Context;Ljava/lang/String;)V

43.

44. .line 42

45. :cond_1e

46. iget-object v0, p1, Lcom/android/internal/telephony/CallerInfo;->geoDescription:Ljava/lang/String;

47.

48. invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

49.

50. move-result v0

51.

52. if-nez v0, :cond_4

53.

54. .line 43

55. iget-object v0, p0, Lcom/android/phone/CallCard;->mCallTypeLabel:Landroid/widget/TextView;

56.

57. const/4 v1, 0x0

58.

59. invoke-virtual {v0, v1}, Landroid/widget/TextView;->setVisibility(I)V

60.

61. .line 44

62. iget-object v0, p0, Lcom/android/phone/CallCard;->mCallTypeLabel:Landroid/widget/TextView;

63.

64. iget-object v1, p1, Lcom/android/internal/telephony/CallerInfo;->geoDescription:Ljava/lang/String;

65.

66. invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

67.

68. .line 45

69. iget-object v0, p0, Lcom/android/phone/CallCard;->mCallTypeLabel:Landroid/widget/TextView;

70.

71. iget v1, p0, Lcom/android/phone/CallCard;->mTextColorCallTypeSip:I

72.

73. invoke-virtual {v0, v1}, Landroid/widget/TextView;->setTextColor(I)V

74.

75. .line 46

76. iget-object v0, p1, Lcom/android/internal/telephony/CallerInfo;->geoDescription:Ljava/lang/String;

77.

78. iget-object v1, p0, Lcom/android/phone/CallCard;->mPhoneNumber:Landroid/widget/TextView;

79.

80. invoke-virtual {v1}, Landroid/widget/TextView;->getText()Ljava/lang/CharSequence;

81.

82. move-result-object v1

83.

84. invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

85.

86. move-result v0

87.

88. if-eqz v0, :cond_4

89.

90. .line 47

91. iget-object v0, p0, Lcom/android/phone/CallCard;->mPhoneNumber:Landroid/widget/TextView;

92.

93. invoke-virtual {v0, v2}, Landroid/widget/TextView;->setVisibility(I)V

94.

95. goto :goto_4

96. .end method

复制代码



6,查找

1. invoke-direct {p0, p4}, Lcom/android/phone/CallCard;->updateCallTypeLabel(Lcom/android/internal/telephony/Call;)V

复制代码

在这段代码下面加

1. move-object/from16 v0, p1

2.

3. invoke-direct {p0, v0}, Lcom/android/phone/CallCard;->setGeoDescription(Lcom/android/internal/telephony/CallerInfo;)V

复制代码



之后保存。

7,鼠标放在Smali_classes文件夹上,右键选回编译DEX文件夹,这样得到Smali_classes_classes.dex文件,改名classes.dex

拖拽回Phone.apk,这样Phone.apk就完成了



8,提取system/framework/ext.jar 用解压软件打开,然后打开com/android/i18n/phonenumbers/geocoding/data/

把我提供的数据库文件86_zh,拖拽进去,就可以了。



数据库文件:86_zh1.rar(107.75 KB, 下载次数: 150)

2012-7-28 21:21 上传

下载次数: 150

下载积分: 金币 -1







这样归属地文件就完成了,不适合新人,新人慢慢学习吧。



这个需要JAVA支持,我就不提供了,



提供2个工具:

本帖隐藏的内容

反编回编工具:http://dl.dbank.com/c0mxcem8pk

Notepad2_CN1.rar(740.39 KB, 下载次数: 75)

2012-7-28 21:21 上传

下载次数: 75

下载积分: 金币 -1







以上是我总结的,应该适合近期CM10添加,其中也对佐太罗发布的文件进行了对比

PS,如果上面的方法帮了你,记得回来加分



机型:DEFY,其他机型应该差不多少吧,自己研究一下吧

ROM定制中高级教程,如何自定义桌面快捷方式

相关推荐