移动叔叔

标题: 学习自制美化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快捷查找)
  1. <style name="Theme">
复制代码
把下面的
  1. <item name="colorForeground">@color/bright_foreground_dark</item>
复制代码
改为
  1. <item name="colorForeground">@color/transparent</item>
复制代码
  1. <item name="colorBackground">@color/background_dark</item>
复制代码
改为
  1. <tem name="colorBackground">@color/transparent</item>
复制代码
如图所示
[attach]182678[/attach]
                     
                        
2.查找
  1. @drawable/screen_background_dark
复制代码
改为
  1. color=black>@drawable/keai
复制代码
注意:这里就是要把一张半透明并命名为keai.png的图片放到drawable-mdpi里面,图片的透明度可根据个人喜好调节
3.查找
  1. <item name="windowShowWallpaper">false</item>
复制代码
把里面的false改为true
4.查找
  1. <style name="Theme.Black" parent="@style/Theme">
复制代码
先在这行下面增加一句
  1. <item name="windowShowWallpaper">false</item>
复制代码
然后把里面两处@color/black都改为@color/transparent
如图所示
[attach]182679[/attach]                     
5.查找
  1. <style name="Theme.Light.NoTitleBar" parent="@style/Theme.Light">
复制代码
在这一行下面增加一行
  1. <item name="windowShowWallpaper">false</item>
复制代码
6.查找
  1. <style name="Widget.ListView" parent="@style/Widget.AbsListView">
复制代码
  1. <item name="cacheColorHint">?colorBackgroundCacheHint</item>
复制代码
改为
  1. <item name="cacheColorHint">@color/transparent</item>
复制代码
看到下面一点的
  1. <style name="Widget.ListView.White" parent="@style/Widget.AbsListView">
复制代码
里面的
  1. <item name="cacheColorHint">?colorBackgroundCacheHint</item>
复制代码
改为
  1. <item name="cacheColorHint">@color/transparent</item>
复制代码
如图所示
[attach]182680[/attach]                        
               
7.查找
  1. <style name="Theme.WallpaperSettings" parent="@style/Theme">
复制代码
把下面的
  1. <itemname="windowBackground">@drawable/screen_background_dark_transparent</item>
复制代码
改为
  1. <item name="windowBackground">@color/transparent</item>
复制代码
如图所示
[attach]182681[/attach]
              
8.继续查找
  1. <style name="Theme">
复制代码
查找
  1. <itemname="windowBackground">@drawable/screen_background_selector_dark</item>
复制代码
  1. <itemname="windowBackground">@drawable/screen_background_selector_dark</item>
复制代码
修改为
  1. <itemname="windowBackground">@drawable/keai</item>
复制代码
如图所示
[attach]182682[/attach]
                                   
9.查找
  1. <style name="Widget.ListView"parent="@style/Widget.AbsListView">
  2. <stylename="Widget.ListView.White"parent="@style/Widget.AbsListView">
复制代码
把两处
  1. <itemname="cacheColorHint">?colorBackgroundCacheHint</item>
复制代码
修改为
  1. <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. 1.<style name="MyTheme" parent="@android:style/Theme">
  2. 2.<item name="android:windowBackground">@drawable/phone_bg</item>
  3. 3.<item name="android:windowShowWallpaper">true</item>
  4. 4.<item name="android:colorBackgroundCacheHint">@null</item>
  5. 5.</style>
复制代码
把一张具有一定透明度的图片命名为phone.png 放到drawable-mdip里面
回到反编译目录.找到AndroidManifest.xml
查找
  1. application android:label="@string/app_label"
复制代码
在application 加入自己的风格
  1. android:theme="@style/MyTheme"
复制代码
最后回编译APK然后签名使用.有些程序是odex化的.需要合并odex后再反编译

      未完待续  





欢迎光临 移动叔叔 (http://bbs.ydss.cn/) Powered by Discuz! X3.2