移动叔叔
标题:
学习自制美化ROM.修改二屏,动画屏.锁屏.data2system转换及编译支持swap内核.不定时...
[打印本页]
作者:
若相惜╰-默默又
时间:
2012-9-29 21:31
标题:
学习自制美化ROM.修改二屏,动画屏.锁屏.data2system转换及编译支持swap内核.不定时...
网上的这类教程有很多,但是每个型号手机的ROM都是有所差异的.咱们大7也需要有自己的这类教程.这里我把自己找到的适合大7的美化方法写出来.这样可以使大家少走弯路.写这类教程真的很费心思的.以后的时间也不好挤.在这里把自己美化ROM的经验写一下
大家觉着有用的话就多多支持移动叔叔.移动叔叔因你而精彩~
关于如何搭建JAVA环境.及反编译工具.在这里先不多说.网上有很多教程
关于美化及更改什么文件.最长用的就是修改替换某个文件了,如果用手机替换修改之后很多都需要改为644权限.
说明一下什么是644权限. 用RE管理器或者其他具有root权限的文件管理器,打开文件所在目录,长按需要修改权限的文件,在弹出的菜单上选择《权限》会弹出对话窗,修改成如下图所示:
[attach]182683[/attach]
为什么叫644:在LINUX中可读权限为4,可写权限为2,执行权限为1.所以第一行选中可读可写就是4+2=6
第二行选中可读就是4,第三行选中可读也是4,简称就是644权限
------------------------------------------------------------------------------------------------------------------------------------------------------------
一、 全局背景系列
我先说简单明了的教程.
反编译framework-res.apk
[attach]182684[/attach]
出现如上所示,说明反编译成功
打开反编译后的res/values/style.xml (可以下载notepad++来打开)
1.查找主题(可以用Ctrl+F快捷查找)
<style name="Theme">
复制代码
把下面的
<item name="colorForeground">@color/bright_foreground_dark</item>
复制代码
改为
<item name="colorForeground">@color/transparent</item>
复制代码
把
<item name="colorBackground">@color/background_dark</item>
复制代码
改为
<tem name="colorBackground">@color/transparent</item>
复制代码
如图所示
[attach]182678[/attach]
2.查找
@drawable/screen_background_dark
复制代码
改为
color=black>@drawable/keai
复制代码
注意:这里就是要把一张半透明并命名为keai.png的图片放到drawable-mdpi里面,图片的透明度可根据个人喜好调节
3.查找
<item name="windowShowWallpaper">false</item>
复制代码
把里面的false改为true
4.查找
<style name="Theme.Black" parent="@style/Theme">
复制代码
先在这行下面增加一句
<item name="windowShowWallpaper">false</item>
复制代码
然后把里面两处@color/black都改为@color/transparent
如图所示
[attach]182679[/attach]
5.查找
<style name="Theme.Light.NoTitleBar" parent="@style/Theme.Light">
复制代码
在这一行下面增加一行
<item name="windowShowWallpaper">false</item>
复制代码
6.查找
<style name="Widget.ListView" parent="@style/Widget.AbsListView">
复制代码
把
<item name="cacheColorHint">?colorBackgroundCacheHint</item>
复制代码
改为
<item name="cacheColorHint">@color/transparent</item>
复制代码
看到下面一点的
<style name="Widget.ListView.White" parent="@style/Widget.AbsListView">
复制代码
里面的
<item name="cacheColorHint">?colorBackgroundCacheHint</item>
复制代码
改为
<item name="cacheColorHint">@color/transparent</item>
复制代码
如图所示
[attach]182680[/attach]
7.查找
<style name="Theme.WallpaperSettings" parent="@style/Theme">
复制代码
把下面的
<itemname="windowBackground">@drawable/screen_background_dark_transparent</item>
复制代码
改为
<item name="windowBackground">@color/transparent</item>
复制代码
如图所示
[attach]182681[/attach]
8.继续查找
<style name="Theme">
复制代码
查找
<itemname="windowBackground">@drawable/screen_background_selector_dark</item>
复制代码
把
<itemname="windowBackground">@drawable/screen_background_selector_dark</item>
复制代码
修改为
<itemname="windowBackground">@drawable/keai</item>
复制代码
如图所示
[attach]182682[/attach]
9.查找
<style name="Widget.ListView"parent="@style/Widget.AbsListView">
<stylename="Widget.ListView.White"parent="@style/Widget.AbsListView">
复制代码
把两处
<itemname="cacheColorHint">?colorBackgroundCacheHint</item>
复制代码
修改为
<item name="cacheColorHint">#00000000</item>
复制代码
如图所示
[attach]182677[/attach]
10.最后把一张具有透明度的png图片,放到framework-res/res/drawable-hdpi
然后回编译framework-res命名为framework-res1.apk
[attach]182685[/attach]
出现如上图所示Building apk file,说明回编译成功
由于framework-res.apk不可自签名.
我们需要打开编译好的framework1.apk 提取resources.arsc替换到未修改的framework-res.apk
并提取keai.png替换到未修改的framework-res.apk
最后把替换好的未修改framework-res.apk 替换到手机或者刷机包中吧.
关于通话及信息界面透明.我先说个最简单的方法.就是用具有一定透明度的图片.直接替换.
当然也可以通过编写一种style代码来接收渲染
拿Phone.apk举例.反编译phone.apk 找到res/values/style.xml 在下面添加
1.<style name="MyTheme" parent="@android:style/Theme">
2.<item name="android:windowBackground">@drawable/phone_bg</item>
3.<item name="android:windowShowWallpaper">true</item>
4.<item name="android:colorBackgroundCacheHint">@null</item>
5.</style>
复制代码
把一张具有一定透明度的图片命名为phone.png 放到drawable-mdip里面
回到反编译目录.找到AndroidManifest.xml
查找
application android:label="@string/app_label"
复制代码
在application 加入自己的风格
android:theme="@style/MyTheme"
复制代码
最后回编译APK然后签名使用.有些程序是odex化的.需要合并odex后再反编译
未完待续
欢迎光临 移动叔叔 (http://bbs.ydss.cn/)
Powered by Discuz! X3.2