【少豪】 手把手教你一步一步DIY制作美化有自己特色的ROM
三星s5830i吧
全部回复
仅看楼主
level 8
tian35160020 楼主
一、ROM定制第一课,JAVA环境搭建,厨房安装:这个就不详说了,安极搜索一大把
二、反编译:
下载必要的工具。Apktool工具,下载地址:http://115.com/file/be5arb07#
下载后解压(有三个文件aapt.exe,apktool.bat,apktool.jar),为了方便。将解压出来的文件放在CDM模式(win+R)默认的目录下。
比如,我的是Windowsxp,就在:C:\Documents and Settings\Administrator 下
1:如果你是要编译系统文件的话,请将你要修改的rom里的framework-res.apk和com.htc.resources.apk(暂时叫做依赖包)用CMD模式“安装”下。
这样编译才不会出错。我一开始就是在这里纠结了很久。呵呵
安装方法:把依赖包放在刚才放apktool的目录下。(你也可以用指定目录的方法安装)
cmd模式 执行apktool if framework-res.apk这个是安装framework-res.apk
apktool if com.htc.resources.apk 这个是安装com.htc.resources.apk
2:准备工作都做好了,现在就可以反编译和编译了。
将你要反编译的apk放在apktool的目录下。(你也可以用指定目录)
cmd模式 执行apktool d XXXX.apk 这个是Decode也就是反编译
比如反编译rosie 就执行 apktool d rosie.apk 就可以了(会在当前的目录下生成rosie的文件夹,修改就是在这个文件夹里进行)
cmd模式 执行apktool b XXXX 这个是build 也就是编译回去
比如 编译rosie 就执行 apktool b rosie 就可以了(会在rosie的文件夹中生成一个叫dist的文件夹,编译回去的apk就是此文件夹中)
注意:第1步很重要,很多人不成功就是因为没做第1步。
三、APK基本操作:
1) 汉化APK软件
在res文件夹中,我们可以看到有很多values-***的文件夹,这就是语言包。values是英文语言包,values-zh是中国地区语言包(包含港澳台及内地),values-zh-rCN是中文简体语言包(只包含内地),values-zh-rTW是中文繁体语言包(港澳台)。除此以外,其它地区的语言包都是精简的对象,可以不过多了解。
在values文件夹里,通常有arrays.xml、strings.xml等语言文件,要作汉化就要对这些文件进行修改。有时也需要修改其它xml文件,一个一个地认真查看。
2) 修改图标标签
每一个APK文件都有一个“图标标签”。将APK程序安装进手机后,在图标下面显示图标标签文字。这个图标标签的内容是可以修改的。在\res\values下找到strings.xml,修改其中的一行:
<string name="app_name">图标标签</string>
例如:<string name="app_name">静音启动</string>
同理,如果是窗口小插件,要修改widget_name。
注意:system/app下的apk不宜修改,因为要同时修改对应的odex文件。
3) 去掉APK中的广告
有很多APK应用都带有广告。为了去掉程序中的广告,要修改main.xml文件与广告有关的内容。在\res目录下找到文件main.xml。通常在\layout目录下,有时也被放在其它目录下。甚至,有时不存在main.xml文件,广告行被放在其它xml文件内。只能细心逐个文件进行查找。无论哪一种情况,查看其内容,你会看到有一项类似的命令如下。这就是广告显示。
<com.admob.android.ads.AdView android:id=”@id/ad” android:layout_width=”fill_parent” android:layout_height=”wrap_content” admobsdk:backgroundColor=”#ff000000〃 admobsdk:textColor=”#ffffffff” admobsdk:keywords=”Android application” />
将其改为:
<com.admob.android.ads.AdView android:id=”@id/ad” android:layout_width=”0.0dip” android:layout_height=”0.0dip” admobsdk:backgroundColor=”#ff000000〃 admobsdk:textColor=”#ffffffff” admobsdk:keywords=”Android application” />
可以看到,关键是要把fill_parent改为0.0dip,把wrap_content改为0.0dip,其它保持不变即可。这种改法就是不给广告显示空间,当然你就看不到广告了。
4) 修改电池显示精度
在XT502上,默认显示只有7档: 0%,10%,20%,40%,60%,80% 和100%。通过修改framework-res.apk,可以改变显示精度。但是在XT502上,实践证明最好可能达到的现实精度只有10%。修改工作如下:
(1) 对framework-res.apk进行解包
(2) 修改和增加电池状态图标
(3) 修改文件stat_sys_battery.xml
(4) 修改文件stat_sys_battery_charge.xml
(5) 打包
(6) 提取stat_sys_battery.xml,stat_sys_battery_charge.xml,resources.arsc和一个图标目录:drawable-mdpi
(7) 重新装配framework-res.apk
5) 状态栏信息通知文字颜色修改
状态栏信息通知文字颜色,是由framework-res.apk文件里res\values下的colors.xml文件控制的,所以我们只需修改colors.xml文件就可以了。另外,此文件还控制下拉栏的文字颜色,可以修改。
用文本编辑器打开colors.xml文件,找到
<color name="hw_statusbar_time">#ff000000</color>
将这句修改为:<color name="hw_statusbar_time">#ffffffff</color>
这状态栏信息通知文字颜色由黑色改为白色。

2012年08月18日 13点08分 1
level 8
tian35160020 楼主
从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。
\system\etc\apns-conf.xml APN接入点配置文件
\system\etc\AudioFilter.csv 音频过滤器配置文件
\system\etc\AudioPara4.csv
\system\etc\bookmarks.xml 书签数据库
\system\etc\dbus.conf 总线监视配置文件
\system\etc\dhcpcd
\system\etc\event-log-tags
\system\etc\favorites.xml 收藏夹
\system\etc\firmware 固件信息
\system\etc\gps.conf GPS设置文件
\system\etc\hcid.conf内核HCID配置文件
\system\etc\hosts 网络DNS缓存
\system\etc\init.goldfish.sh
\system\etc\location 定位相关
\system\etc\mountd.conf 存储挂载配置文件
\system\etc\NOTICE.html 提示网页
\system\etc\permissions.xml 权限许可
\system\etc\pvplayer.conf
\system\etc\security
\system\etc\wifi WLAN相关组件
\system\etc\dhcpcd\dhcpcd-hooks
\system\etc\dhcpcd\dhcpcd-run-hooks
\system\etc\dhcpcd\dhcpcd.conf
\system\etc\dhcpcd\dhcpcd-hooks\01-test
\system\etc\dhcpcd\dhcpcd-hooks\20-dns.conf
\system\etc\dhcpcd\dhcpcd-hooks\95-configured
\system\etc\firmware\brf6300.bin
\system\etc\location\gps
\system\etc\location\gps\location 定位相关
\system\etc\location\gps\nmea GPS数据解析
\system\etc\location\gps\properties
\system\etc\security\cacerts.bks
\system\etc\security\otacerts.zip OTA下载验证
\system\etc\wifi\Fw1251r1c.bin
\system\etc\wifi\tiwlan.ini
\system\etc\wifi\wpa_supplicant.conf WPA验证组件
\system\fonts
字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T- Mobile G1上可以清楚的看到显示简体中文正常,其中DroidSansFallback.ttf文件大小
\system\fonts\DroidSans-Bold.ttf
\system\fonts\DroidSans.ttf
\system\fonts\DroidSansFallback.ttf
\system\fonts\DroidSansMono.ttf
\system\fonts\DroidSerif-Bold.ttf
\system\fonts\DroidSerif-BoldItalic.ttf
\system\fonts\DroidSerif-Italic.ttf
\system\fonts\DroidSerif-Regular.ttf
\system\framework
framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。
\system\framework\am.jar
\system\framework\am.odex
\system\framework\android.awt.jar AWT库
\system\framework\android.awt.odex
\system\framework\android.policy.jar
\system\framework\android.policy.odex
\system\framework\android.test.runner.jar
\system\framework\android.test.runner.odex
\system\framework\com.google.android.gtalkservice.jar GTalk服务
\system\framework\com.google.android.gtalkservice.odex
\system\framework\com.google.android.maps.jar 电子地图库
\system\framework\com.google.android.maps.odex
\system\framework\core.jar 核心库,启动桌面时首先加载这个
\system\framework\core.odex
\system\framework\ext.jar
\system\framework\ext.odex
\system\framework\framework-res.apk
\system\framework\framework-tests.jar
\system\framework\framework-tests.odex
\system\framework\framework.jar
\system\framework\framework.odex
\system\framework\input.jar 输入库
\system\framework\input.odex
\system\framework\itr.jar
\system\framework\itr.odex
\system\framework\monkey.jar
\system\framework\monkey.odex
\system\framework\pm.jar 包管理库
\system\framework\pm.odex
\system\framework\services.jar
\system\framework\services.odex
\system\framework\ssltest.jar
\system\framework\ssltest.odex
\system\framework\svc.jar 系统服务
\system\framework\svc.odex
\system\lib

2012年08月18日 13点08分 4
level 8
tian35160020 楼主
lib目录中存放的主要是系统底层库,如平台运行时库。
\system\lib\libaes.so
\system\lib\libagl.so
\system\lib\libandroid_runtime.so Android运行时库
\system\lib\libandroid_servers.so 系统服务组件
\system\lib\libaudio.so 音频处理
\system\lib\libaudioeq.so EQ均衡器
\system\lib\libaudioflinger.so 音频过滤器
\system\lib\libbluetooth.so 蓝牙组件
\system\lib\libc.so
\system\lib\libcamera.so 超相机组件
\system\lib\libcameraservice.so
\system\lib\libcorecg.so
\system\lib\libcrypto.so 加密组件
\system\lib\libctest.so
\system\lib\libcutils.so
\system\lib\libdbus.so
\system\lib\libdl.so
\system\lib\libdrm1.so DRM解析库
\system\lib\libdrm1_jni.so
\system\lib\libdvm.so
\system\lib\libexif.so
\system\lib\libexpat.so
\system\lib\libFFTEm.so
\system\lib\libGLES_CM.so
\system\lib\libgps.so
\system\lib\libhardware.so
\system\lib\libhgl.so
\system\lib\libhtc_ril.so
\system\lib\libicudata.so
\system\lib\libicui18n.so
\system\lib\libicuuc.so
\system\lib\liblog.so
\system\lib\libm.so
\system\lib\libmedia.so
\system\lib\libmediaplayerservice.so
\system\lib\libmedia_jni.so
\system\lib\libnativehelper.so
\system\lib\libnetutils.so
\system\lib\libOmxCore.so
\system\lib\libOmxH264Dec.so
\system\lib\li
bp
ixelflinger.so
\system\lib\libpvasf.so
\system\lib\libpvasfreg.so
\system\lib\libpvauthor.so
\system\lib\libpvcommon.so
\system\lib\libpvdownload.so
\system\lib\libpvdownloadreg.so
\system\lib\libpvmp4.so
\system\lib\libpvmp4reg.so
\system\lib\libpvnet_support.so
\system\lib\libpvplayer.so
\system\lib\libpvrtsp.so
\system\lib\libpvrtspreg.so
\system\lib\libqcamera.so
\system\lib\libreference-ril.so
\system\lib\libril.so
\system\lib\librpc.so
\system\lib\libsgl.so
\system\lib\libsonivox.so
\system\lib\libsoundpool.so
\system\lib\libsqlite.so
\system\lib\libssl.so
\system\lib\libstdc++.so
\system\lib\libsurfaceflinger.so
\system\lib\libsystem_server.so
\system\lib\libthread_db.so
\system\lib\libUAPI_jni.so
\system\lib\libui.so
\system\lib\libutils.so
\system\lib\libvorbisidec.so
\system\lib\libwbxml.so
\system\lib\libwbxml_jni.so
\system\lib\libwebcore.so
\system\lib\libwpa_client.so
\system\lib\libxml2wbxml.so
\system\lib\libz.so
\system\lib\modules
\system\lib\modules\wlan.ko
\system\media
铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音
\system\media\audio
\system\media\audio\alarms 闹铃音
\system\media\audio\notifications 提示音
\system\media\audio\ringtones 铃声
\system\media\audio\ui 界面操作事件音
\system\media\audio\alarms\Alarm_Beep_01.ogg
\system\media\audio\alarms\Alarm_Beep_02.ogg
\system\media\audio\alarms\Alarm_Beep_03.ogg
\system\media\audio\alarms\Alarm_Buzzer.ogg
\system\media\audio\alarms\Alarm_Classic.ogg
\system\media\audio\alarms\Alarm_Rooster_02.ogg
\system\media\audio\notifications\Beat_Box_Android.ogg
\system\media\audio\notifications\CaffeineSnake.ogg

2012年08月18日 13点08分 5
level 8
tian35160020 楼主
\system\media\audio\notifications\DearDeer.ogg
\system\media\audio\notifications\DontPanic.ogg
\system\media\audio\notifications\F1_MissedCall.ogg
\system\media\audio\notifications\F1_New_MMS.ogg
\system\media\audio\notifications\F1_New_SMS.ogg
\system\media\audio\notifications\Heaven.ogg
\system\media\audio\notifications\Highwire.ogg
\system\media\audio\notifications\KzurbSonar.ogg
\system\media\audio\notifications\OnTheHunt.ogg
\system\media\audio\notifications\TaDa.ogg
\system\media\audio\notifications\Tinkerbell.ogg
\system\media\audio\notifications\Voila.ogg
\system\media\audio\ringtones\BeatPlucker.ogg
\system\media\audio\ringtones\BentleyDubs.ogg
\system\media\audio\ringtones\BirdLoop.ogg
\system\media\audio\ringtones\CaribbeanIce.ogg
\system\media\audio\ringtones\CrazyDream.ogg
\system\media\audio\ringtones\CurveBall.ogg
\system\media\audio\ringtones\DreamTheme.ogg
\system\media\audio\ringtones\EtherShake.ogg
\system\media\audio\ringtones\FriendlyGhost.ogg
\system\media\audio\ringtones\GameOverGuitar.ogg
\system\media\audio\ringtones\Growl.ogg
\system\media\audio\ringtones\InsertCoin.ogg
\system\media\audio\ringtones\LoopyLounge.ogg
\system\media\audio\ringtones\LoveFlute.ogg
\system\media\audio\ringtones\MidEvilJaunt.ogg
\system\media\audio\ringtones\MildlyAlarming.ogg
\system\media\audio\ringtones\NewPlayer.ogg
\system\media\audio\ringtones\Noises1.ogg
\system\media\audio\ringtones\Noises2.ogg
\system\media\audio\ringtones\Noises3.ogg
\system\media\audio\ringtones\OrganDub.ogg
\system\media\audio\ringtones\Ring_Classic_02.ogg
\system\media\audio\ringtones\Ring_Digital_02.ogg
\system\media\audio\ringtones\Ring_Synth_02.ogg
\system\media\audio\ringtones\Ring_Synth_04.ogg
\system\media\audio\ringtones\RomancingTheTone.ogg
\system\media\audio\ringtones\SitarVsSitar.ogg
\system\media\audio\ringtones\SpringyJalopy.ogg
\system\media\audio\ringtones\T-Jingle.ogg
\system\media\audio\ringtones\Terminated.ogg
\system\media\audio\ringtones\TwirlAway.ogg
\system\media\audio\ringtones\VeryAlarmed.ogg
\system\media\audio\ringtones\World.ogg
\system\media\audio\ui\Effect_Tick.ogg
\system\sounds
默认的音乐测试文件,仅有一个test.mid文件,用于播放测试的文件。
\system\sounds\test.mid
\system\usr
用户文件夹,包含共享、键盘布局、时间区域文件等。
\system\usr\keychars
\system\usr\keylayout
\system\usr\share
\system\usr\srec
\system\usr\keychars\qwerty.kcm.bin
\system\usr\keychars\qwerty2.kcm.bin
\system\usr\keychars\trout-keypad-qwertz.kcm.bin
\system\usr\keychars\trout-keypad-v2.kcm.bin
\system\usr\keychars\trout-keypad-v3.kcm.bin
\system\usr\keychars\trout-keypad.kcm.bin
\system\usr\keylayout\h2w_headset.kl
\system\usr\keylayout\qwerty.kl
\system\usr\keylayout\trout-keypad-qwertz.kl
\system\usr\keylayout\trout-keypad-v2.kl
\system\usr\keylayout\trout-keypad-v3.kl
\system\usr\keylayout\trout-keypad.kl
\system\usr\share\bsk
\system\usr\share\zoneinfo
\system\usr\share\bsk\V_FD_speed_101.bsk
\system\usr\share\bsk\V_FD_std_101.bsk
\system\usr\share\zoneinfo\zoneinfo.dat
\system\usr\share\zoneinfo\zoneinfo.idx
\system\usr\srec\config
\system\usr\srec\config\en.us
\system\usr\srec\config\en.us\baseline.par
\system\usr\srec\config\en.us\baseline11k.par
\system\usr\srec\config\en.us\baseline8k.par
\system\usr\srec\config\en.us\dictionary
\system\usr\srec\config\en.us\g2p
\system\usr\srec\config\en.us\grammars
\system\usr\srec\config\en.us\models
\system\usr\srec\config\en.us\dictionary\basic.ok
\system\usr\srec\config\en.us\dictionary\cmu6plus.ok.zip
\system\usr\srec\config\en.us\dictionary\enroll.ok
\system\usr\srec\config\en.us\g2p\en-US-ttp.data
\system\usr\srec\config\en.us\grammars\VoiceDialer.g2g
\system\usr\srec\config\en.us\models\generic.swiarb
\system\usr\srec\config\en.us\models\generic11.lda
\system\usr\srec\config\en.us\models\generic11_f.swimdl
\system\usr\srec\config\en.us\models\generic11_m.swimdl
\system\usr\srec\config\en.us\models\generic8.lda
\system\usr\srec\config\en.us\models\generic8_f.swimdl
\system\usr\srec\config\en.us\models\generic8_m.swimdl
1、细心、细心、细心
2、为安全起见,建议只对data/app和system/app这两个文件夹内的文件做删除、添加。
3、不知或是不太清楚要删除的文件是干啥的,那请保留不要删除。
4、本文中的Android系统文件夹结构可能比较旧,如果碰到不知该文件是干什么的,建议搜索一下找答案。
4、按照本教程来定制ROM,如果在定制过程自已失误删除相应的软件,那造成的后果最多也是无法进入系统,重新刷一个完整的ROM一般解决问题。

2012年08月18日 13点08分 6
level 8
tian35160020 楼主
六、进度条的调整:
android进度条大致分为两种,水平进度条和圆形进度条。我们一般需要改的就是水平进度条,因为这个不是替换图片可以做到的,所以发下此教程。
首先,准备工作就是建立java运行环境,寻找一个顺手的反编译工具,这个不做过多赘述。具体请去百度一下。
然后你需要复制出ROM自带的framework-res.apk,反编译之。
这时候进入正题,替换进度条需要修改两个xml文件,分别是:
framework-res.apk/res/drawable/progress_horizontal.xml (定义进度条颜色)
framework-res.apk/res/value/styles.xml(定义进度条布局)
首先,progress_horizontal.xml 这里,你可以改的是进度条的边框弧度
<item android:id="@id/background">
< shape>
< corners android:radius="4.659973dip" />(半径自定义)
进度条的颜色
< /corners>
< gradient
android:startColor="#FFFFFFFF"(颜色自定义)
android:endColor="#FFFFFFFF"(颜色自定义)
android:angle="270.0"
android:centerY="0.75"
android:centerColor="#FFFFFFFF"(颜色自定义)
<item android:id="@id/progress">
< clip>
< shape>
< corners android:radius="4.659973dip" />
< gradient
android:startColor="#ff61bbff"
android:endColor="#ff0091ff"
android:angle="270.0"
android:centerY="0.75"
android:centerColor="#ff32a7ff" />(这里的三个颜色定义为进度条背景),
做完了这些,你就完成了一半以上的工作了,因为这些颜色是配色原理,很难搞定。
接下来就是在styles.xml里布局了。
首先查找progressbar,找到这一行
<style name="Widget.ProgressBar.Horizontal" parent="@style/Widget.ProgressBar">:
<item name="maxHeight">20.0dip</item>
<item name="indeterminateOnly">false</item>
<item name="indeterminateDrawable">@drawable/progress_indeterminate_horizontal</item>
<item name="progressDrawable">@drawable/progress_horizontal</item>
<item name="minHeight">20.0dip</item>
</style>
将两个20.0dip改为10.0dip(这是我自己改的高度,各位可凭自己的喜好自行修改)。这里进度条的高度就搞定了。
这里还有一个问题就是,seekbar和progressbar的区别。
seekbar指的是拖动条,比如你打开设置,声音,音量的时候,看到的那个可以拖动的进度条。
所以紧随上一行代码之后,我们看到了下面的:
<style name="Widget.SeekBar" parent="@style/Widget">
<item name="focusable">true</item>
<item name="maxHeight">20.0dip</item>
<item name="indeterminateOnly">false</item>
<item name="indeterminateDrawable">@drawable/progress_horizontal</item>
<item name="progressDrawable">@drawable/progress_horizontal</item>
<item name="minHeight">20.0dip</item>
<item name="thumb">@drawable/seek_thumb</item>
<item name="thumbOffset">8.0dip</item>
同样的,将两个20.0dip改为10.0dip,截止到这里,进度条的修改就已经完成了。编译回去,替换进系统,重启,OK。

2012年08月18日 13点08分 7
level 8
tian35160020 楼主
七、通话界面字体修改等等:
改变通话界面字体
A:顶部(语音通话等字样)
修改 res\layout\call_card.xml
内容:
<LinearLayout android:gravity="center_vertical" android:layout_gravity="center_horizontal" android:orientation="horizontal" android:id="@id/upperTitle" android:layout_width="wrap_content" android:layout_height="47.0dip">
< ImageView android:id="@id/call_als_icon" android:visibility="gone" android:layout_width="25.0dip" android:layout_height="25.0dip" android:layout_marginRight="5.0dip" />
< TextView android:textSize="19.0sp" android:textColor="#ff6bd92e" android:gravity="center_horizontal" android:id="@id/upperTitleText" android:layout_width="wrap_content" android:layout_height="25.0dip" android:singleLine="true" />
< /LinearLayout>
B:通话时间
修改 res\layout\call_card.xml
内容:
<TextView android:textSize="21.0sp" android:textColor="#ff6bd92e" android:textStyle="normal" android:gravity="center_vertical" android:layout_gravity="right" android:id="@id/elapsedTime" android:layout_width="wrap_content" android:layout_height="43.0dip" android:layout_marginTop="-10.0dip" android:layout_marginRight="20.0dip" android:singleLine="true" android:shadowColor="#ff000000" android:shadowDx="-2.0" android:shadowDy="-2.0" android:shadowRadius="2.0" />
C:名称字体(ID)
修改 res\layout\call_card_person_info.xml
内容:
<TextView android:textSize="21.0sp" android:textColor="#ff6bd92e" android:layout_gravity="center_horizontal" android:gravity="center" android:orientation="horizontal" android:id="@id/name" android:paddingLeft="22.0dip" android:paddingRight="22.0dip" android:layout_width="wrap_content" android:layout_height="55.0dip" android:layout_marginTop="-60.0dip" android:lines="2" android:singleLine="false" android:shadowColor="#ff000000" android:shadowDx="-2.5" android:shadowDy="-2.5" android:shadowRadius="2.0" />
D:通话号码及颜色
修改 res\layout\call_card_person_info.xml
内容:
<TextView android:textSize="25.0sp" android:layout_gravity="center_horizontal" android:textColor="@color/incall_phoneNumber" android:gravity="center_vertical" android:id="@id/phoneNumber" android:layout_width="wrap_content" android:layout_height="28.0dip" android:layout_marginTop="15.0dip" android:singleLine="true" android:shadowColor="#ff000000" android:shadowDx="-2.5" android:shadowDy="-2.5" android:shadowRadius="2.0" />
修改颜色 \res\values\colors.xml
内容:
<color name="incall_phoneNumber">#ff7bd02f</color>
下面是在通话界面的一些修改:
A:改变联系人列表的条纹:
Contacts.apk\res\values-ru\strings.xml
行575:
<string name="twstr_indexlist">\********</string>
更改任何的字符,字符数不能超过27
B:增大联系人照片:
下面需要同时修改Phone.apk 和Contacts.apk.
Phone.apk\res\layout\call_card_person_info.xml
行4-7:
<LinearLayout android:gravity="center_horizontal" android:orientation="vertical" android:id="@id/callCardPersonInfo" android:layout_width="fill_parent" android:layout_height="wrap_content">
<RelativeLayout android:layout_width="fill_parent" android:layout_height="123.0dip">
<ImageView android:id="@id/photo" android:layout_width="123.0dip" android:layout_height="123.0dip" android:layout_centerHorizontal="true" />
</RelativeLayout>
123.0dip -通话界面来电图片的高度设置
第一部分就完成了
Contacts.apk\res\values-hdpi\dimens.xml
行3:
<dimen name="insert_photo_size">185.0px</dimen>
修改的值应该是相同的,如:Phone.apk\res\layout\call_card_person_info.xml
特别注意的是单位:dip与px的换算:(123dip = 185px, 1dip = 1.5px)
最后,联系人的图片会被重新生成,而google同步的联系人图片是96х96 px,所以这里你需要借助第三方工具来同步联系人

2012年08月18日 13点08分 8
level 10
八、全局字体颜色:
本帖隐藏的内容framework-res/res/values/colors.xml
找到
<color name="bright_foreground_dark">#ffc8c8c8</color>设置界面 以及对话框顶栏字体颜色
<color name="bright_foreground_dark_disabled">#80ffffff</color>未启用功能字体颜色(暗色)
<color name="dim_foreground_dark">#ffbebebe</color> 关于手机里的 型号 版本号字体颜色 #ff00ffff改这
<color name="dim_foreground_dark_disabled">#80bebebe</color>关于手机里的 型号 版本号以及二级目录字体暗颜色
<color name="hint_foreground_dark">#ff808080</color>输入框内提示文本颜色
<color name="dim_foreground_light">#ff323232</color>关机界面 飞行模式等下的二级文本颜色
<color name="bright_foreground_light">#ff000000</color>选择列表字体颜色
<color name="status_bar_text">#ffffffff</color>状态栏字体颜色
<color name="status_bar_clock_text">#ffbebebe</color>状态栏时钟字体颜色
<color name="status_bar_event_primary_text">#ffffffff</color>下拉提示栏字体主颜色
<color name="status_bar_event_secondary_text">#ffb6cad6</color>下拉提示栏二级字体颜色
<color name="sub_text_color">#ff6e9cba</color>全局二级字体颜色
把以上的颜色代码 修改为你喜欢的颜色 然后保存并退出 (颜色代码可在百度上搜索,文中"#xxxxxxxx" #前两位为透明度,后六位为颜色代码)
颜色代码:http://book.wyfwgw.com/color.htm
最后回编辑 并替换resources.arsc到原framework-res.apk
九、手把手教会全局透明:
反编译framework-res.apk
按以下修改../res/values的文件
<第一部分>styles.xml
【1】查找Theme
修改<style name="Theme"> </style>里边部分内容
<item name="colorBackground">@color/transparent</item>
< item name="windowBackground">@color/background</item>
< item name="windowShowWallpaper">true</item>
第一句是:让总的主题色彩是透明的(transparent指向完全透明颜色)
第二句是:让总的主题窗口背景是显示半透明颜色(这background指向半透明颜色)
第三句是:让总的主题显示桌面壁纸
【2】查找Theme.Black
修改<style name="Theme.Black" parent="@style/Theme"></style>里边部分内容
<item name="windowBackground">@color/background</item>
<item name="windowShowWallpaper">true</item>
第一句是:让软件调用黑色背景时,显示半透明颜色(这background指向半透明颜色);
第二句是:并使黑色背景时,显示桌面壁纸
【3】查找Theme.ExpandedMenu
向<style name="Theme.ExpandedMenu" parent="@style/Theme"></sytle>里边添加
<item name="windowBackground">@color/expandedmenu</item>
<item name="windowShowWallpaper">false</item>
第一句是:让扩展菜单显示某种颜色(这expandemenu指向某颜色)
第二句是:显示扩展菜单时不要显示桌面壁纸(要是显示了会白屏,神马也没看见)
【4】添加windowShowWallpaper
依次添加并设置true/false
1.查找Theme.NoTitleBar 添加<item name="windowShowWallpaper">false</item>
2.查找Theme.Light 添加<item name="windowShowWallpaper">false</item>

2012年08月18日 13点08分 9
level 10
当调用白色背景(Theme.Light)的时候不要显示桌面壁纸(要是显示了会白屏,神马也没看见)
<第二部分>colors.xml
向colors.xml中添加代码
<color name="background">#4b000000</color>(透明程度在这)
<color name="expandedmenu">#20000000</color>
飞哥全透方法:
反编译framework-res.apk,在ramework-res\res\values下找到styles.xml,这里说明一下,styles.xml就是主框架下的布局主题文件,我们的apk都有调用者里面对应的主题
开始打开styles.xml,
搜索<item name="colorBackground">@color/background_dark</item>这里的背景指向是黑色,为了后面引用的透明度,我们改成<item name="colorBackground">@color/transparent</item>
搜索<item name="windowBackground">@drawable/screen_background_dark</item>这里指向就是图片位置,这里我改成<item name="windowBackground">@drawable/screen_background_fly</item>
注意这里screen_background_fly是一张带透明度的图标,我们将放置在drawable文件夹下,这里也可以改成<item name="windowBackground">#70000000</item>这是代表我们定义为%70的透明度的颜色
搜索<item name="windowShowWallpaper">false</item>改成<item name="windowShowWallpaper">true</item>,这里的窗体就是总的主题项目打开上面定义的透明度;
接下来我们就是要在一些常用主题里面引用这个窗体,还是搜索
<style name="Theme.Black" parent="@style/Theme">,在这个主题里面<item name="windowBackground">@color/black</item>.
也改成<item name="windowBackground">@drawable/screen_background_fly</item>或者<item name="windowBackground">#70000000</item>
这里看你上面咱们定义,就怎么写
好了接下来就比较容易了,把这些主题项目:
<style name="Theme.NoTitleBar" parent="@style/Theme">
<style name="Theme.Black" parent="@style/Theme">
<style name="Theme.Dialog" parent="@style/Theme">
<style name="Theme.Light" parent="@style/Theme">
<style name="Theme.Translucent" parent="@style/Theme">
<style name="Theme.NoDisplay" parent="@style/Theme">
<style name="Theme.Panel" parent="@style/Theme">
全部给他定义上面的窗体,就是在以上这些主题给写一句
<item name="windowShowWallpaper">false</item>
至此styles写完,如果上面定义了图片,别忘记放这个图片到drawable文件夹下,然后回编framework-res得到build文件夹,将resources.arsc语言资源文件压缩到framework-res.apk原apk中,
如果上面定义了图片,别忘记也要压缩这个图片到framework-res.apk原apk中、将压缩好的framework-res.apk替换到手机改权限,重启动手机,
此全局透明有些小的bug,比如联系人拨号的选框黑色和闹钟的选框黑色,这2处都不是图片,下面教大家怎么修改
联系人黑框:反编译Contacts.apk在res\drawable下call_background.xml,搜索android:drawable="@android:drawable/screen_background_dark"改成 android:drawable="@android:color/transparent" />
闹钟黑框:反编译DeskClock.apk在res\drawable下clock_selector.xml,搜索android:background="?android:windowBackground" 改成android:background="@android:color/transparent"!
此上两个修复同样回编译,把对应修改的xml压缩进原apk对应位置覆盖即可!

2012年08月18日 13点08分 10
level 8
tian35160020 楼主
十、状态栏和下拉栏美化教程:
先反编译SystemUI
一, 下拉栏背景
首先下拉栏背景由SystemUI/res/layout/status_bar_tracking.xml决定
其中
<View android:background="@drawable/shade_bg" android:layout_width="fill_parent"
说明了下拉栏的背景图片是shade_bg.png,
如果红色部分如果是#ff212121类似的说明背景是纯色而不是一张图片
这样就找到目标文件,自行处理图片
二,顶部状态栏背景图片
找到SystemUI、res\layout\status_bar.xml
找到
<com.android.systemui.statusbar.StatusBarView android rientation="vertical" android:background=
其后面紧跟的内容即为目标文件
喜欢透明的童鞋就自行ps图片吧
关于以上两者透明度的问题
打开
systemui\com\android\systemui\statusbar\StatusBarService.smali
搜索const/4 v0, 0x2改为const/4 v0, -0x3(通知栏透明)
搜索const/4 v5, 0x2改为const/4 v5, -0x3(状态栏透明)
最后回编译之后,将相应的xml文件拖到原版systemui中去
然后搜索“const/4 v5, 0x2 ”此代码前一行应该为“const/16 v4, 0x48”,将“const/4 v5, 0x2 ”改为“const/4 v5, -0x3”
涉及到values的文件就把resource..rsc也拖到原版systemui中去,
最后改权限再放到app中去,注意先后顺序,否则会开不了机的
透明下拉栏
1.提取你的systemui.apk,反编
2.找到\res\layout\status_bar_tracking.xml文件,搜索“View android:background”,将其等号后面改成
"@drawable/status_bar_background"
3.回编systemui.apk
4.将新apk中的status_bar_tracking.xml文件替换到老apk中
这样,你的下拉栏就变成了status_bar_background.png这张图片了,修改一张透明的status_bar_background.png扔进systemui.apk中替换原文件就好了。
在用压缩方式打开替换好的APK、直接把res拖到桌面
打开
drawable-hdpi,quickpanel_quick_settings_background.png这个和quickpanel_title_background.9.png这个还有title_bar_portrait.9.png
这个要改成透明或半透明都可以
不一定名称都一样但是方法都一样,你们进去了就知道 statusbar_background.9.png这个是状态栏 直接该透明就OK
记得你改的图片大小要一样{重要}
透明状态栏 2.3.6看 其他无视
同样是修改systemui.apk。
1.反编后找到smali\com\android\systemui\statusbar\StatusBarService.smali文件
2.找到
new-instance v0, Landroid/view/WindowManager$LayoutParams;
const/4 v1, -0x1
const/16 v3, 0x7d0
const/16 v4, 0x48
const/4 v5, 0x2
修改为
new-instance v0, Landroid/view/WindowManager$LayoutParams;
const/4 v1, -0x1
const/16 v3, 0x7d0
const/16 v4, 0x48
const/4 v5, -0x3
3.回编
4.替换classes.dex
5.修改一张statusbar_background.9.png图片,处理成半透明,替换
全局背景教程
提取完后打开“framework-res.apk\res\values\
在用笔记本打开styles.xml文件
按“Ctrl+F”打开查找,在“找内容”查上写入
<item name="windowBackground">@drawable/screen_background_dark</item>
把找到的那句改成下面这句
<item name="windowBackground">@drawable/wjj_qjbg</item>
继续查找
<style name="Widget.ListView" parent="@style/Widget.AbsListView">
得到下面这段
<style name="Widget.ListView" parent="@style/Widget.AbsListView">
< item name="listSelector">@drawable/list_selector_background</item>

2012年08月18日 13点08分 11
level 8
我就 看看算了
2012年10月12日 07点10分 13
level 7
这个真看不
2012年10月12日 08点10分 15
level 7
看不懂
2012年10月12日 08点10分 16
level 13
曲高和寡,贴吧不是论坛呀。
2012年10月12日 09点10分 17
level 13
曲高和寡,贴吧不是论坛呀。
2012年10月12日 09点10分 18
level 11
这个看不懂,是不是对任何机型有用
2012年10月12日 09点10分 19
level 9
太复杂了啊。。。
2012年10月12日 10点10分 20
level 9
纳尼。。。前面的楼呢
2012年10月12日 14点10分 21
level 11
真心看不懂
2012年10月13日 07点10分 22
level 11
[汗] 先顶再说。
2012年10月13日 07点10分 23
level 7
天哪,可以来个简洁版么。太多了,第一个反应,不想看
2012年10月13日 07点10分 24
1 2 3 4 尾页