【闲着也是闲着】之手机美化转帖


前两天因有大规模考试所以有三天没来论坛了,现在带来的是安卓手机美化贴,内容后期更新。
小白向,大神就不要吐槽了____________ ___________________________________
◆安卓之build.prop解剖

# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=JZO54K---------(系统的版本id)
ro.build.display.id=cm_c8812-userdebug 4.1.2 JZO54K eng.shenduos.20130718 .184224 test-keys---------(版本号)
ro.build.version.incremental=223135---------(版本增量)
ro.build.version.sdk=16---------(SDK版本)
ro.build.version.codename=REL---------(版本代号)
ro.build.version.release=4.1.2---------(Android版本)
ro.build.date=2013年 07月 18日 星期四 18:43:09 CST---------(制作者制作时间)
ro.build.date.utc=1374144189
ro.build.type=userdebug---------(编译类型)
ro.build.user=shenduos---------(使用者)
ro.build.host=Raphael-DeepinLinux---------(编译平台)
ro.build.tags=test-keys
ro.product.model=Huawei C8812---------(设备名)
ro.product.brand=Huawei---------(设备的品牌)
ro.product.name=c8812---------(设备的名称)
ro.product.device=c8812
ro.product.board=c8812
ro.product.cpu.abi=armeabi-v7a---------(cpu的版本)
ro.product.cpu.abi2=armeabi---------(cpu的品牌)
ro.product.manufacturer=Huawei---------(手机制造商)
ro.product.locale.language=zh---------(手机默认语言)
ro.product.locale.region=CN---------(时区语言)
persist.sys.timezone=Asia/Shanghai---------(时区的设定)
ro.wifi.channels=
ro.board.platform=msm7x27a---------(主板的平台)
# ro.build.product is obsolete; use ro.product.device
ro.build.product=c8812
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=huawei-user 4.1.2 JZO54K 223135 release
ro.build.fingerprint=huawei/c8812:4.1.2/JZO54K/223135:userdebug/release
ro.build.characteristics=default
ro.cm.device=c8812
# end build properties
#
# system.prop for c8812
#
rild.libpath=/system/lib/libril-qc-1.so---------(这个是ril库的指定,和信号有关)
rild.libargs=-d /dev/smd0
ro.config.hw_opta=17
ro.config.hw_optb=156
persist.rild.nitz_plmn=
persist.rild.nitz_long_ons_0=
persist.rild.nitz_long_ons_1=
persist.rild.nitz_long_ons_2=
persist.rild.nitz_long_ons_3=
persist.rild.nitz_short_ons_0=
persist.rild.nitz_short_ons_1=
persist.rild.nitz_short_ons_2=
persist.rild.nitz_short_ons_3=
ro.cdma.home.operator.numeric=46003
ro.telephony.default_network=4
ro.cdma.home.operator.alpha=中国电信---------(运营商的指定)
ro.config.cdma_subscription=0
ro.telephony.ril_class=HwCdmaQcomRIL
ro.telephony.ril.v3=skipCdma
ro.cdma.factory=china
ro.confg.hw_appsbootversion=C8812V100R001C17B926_APPSBOOT
ro.confg.hw_appversion=C8812V100R001C17B926_KERNEL
ro.confg.hw_appfsversion=C8812V100R001C17B926_SYSIMG
#
# ADDITIONAL_BUILD_PROPERTIES
#
ril.subscription.types=NV,RUIM
dev.pm.dyn_sample_period=700000
dev.pm.dyn_samplingrate=1
headset.hook.delay=500
af.resampler.quality=255
ro.cwm.enable_key_repeat=true
dalvik.vm.heapgrowthlimit=36m
dalvik.vm.heapsize=128m
dalvik.vm.heapstartsize=5m
debug.composition.type=mdp
debug.hwc.dynThreshold=1.91
debug.sf.hw=1
debug.sf.swaprect=1
gfx.highend_override=yes
hwui.render_dirty_regions=true
persist.sys.use_dithering=2
ro.max.fling_velocity=4000
ro.opengles.version=131072
ro.sf.lcd_density=240
com.qc.hardware=true
hwui.render_dirty_regions.7x27A=true
ro.hw_plat=7x27A
ro.vendor.extension_library=/system/lib/libqc-opt.so
persist.sys.usb.config=mtp,adb---------(用来设定usb的使用途径是媒体传输和adb调试)
ro.additionalmounts=/storage/sdcard0
ro.emmc.sdcard.partition=19
ro.vold.switchablepair=/storage/sdcard1,/storage/sdcard0
ro.vold.umsdirtyratio=50
wifi.interface=eth0---------(用来定义wifi的接口)
wifi.supplicant_scan_interval=180---------(用来设定wifi的扫描时间)
keyguard.no_require_sim=true
ro.com.android.dateformat=MM-dd-yyyy---------(日期的格式)
ro.carrier=unknown
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.google.clientidbase=android-google
ro.com.android.wifi-watchlist=GoogleGuest
ro.setupwizard.enterprise_mode=1
ro.com.android.dataroaming=false
ro.cm.version=ShenDu
ro.modversion=ShenDu
ro.update.version=9
ro.path.num=100244
ro.shendu.version=ShenDu-C8812-v4.1.2-130719---------(深度os的版本说明)
ro.shendu.author=ShenduOS---------(作者当然是深度os啦)
ro.config.ringtone=Orion.ogg---------(铃声文件的指定)
ro.config.notification_sound=Deneb.ogg---------(铃声文件的指定)
ro.config.alarm_alert=Hassium.ogg---------(铃声文件的指定)
dalvik.vm.lockprof.threshold=500
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android---------(连接蓝牙是的默认名字)
dalvik.vm.stack-trace-file=/data/anr/traces.txt
1.更好的录像.照相优化
ro.media.capture.maxres=8m
ro.media.capture.fast.fps=4
ro.media.capture.slow.fps=120
ro.media.panorama.defres=3264x1840
ro.media.panorama.frameres=1280x720
ro.camcorder.videoModes=true
2.wifi速度优化
net.ipv4.tcp_ecn=0
net.ipv4.route.flush=1
net.ipv4.tcp_rfc1337=1
net.ipv4.ip_no_pmtu_disc=0
net.ipv4.tcp_sack=1
net.ipv4.tcp_fack=1
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_rmem=4096 39000 187000
net.ipv4.tcp_wmem=4096 39000 187000
net.ipv4.tcp_mem=187000 187000
187000
net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_moderate_rcvbuf=1
3.提高jpg质量100%
ro.media.enc.jpeg.quality=100
4.渲染GPU的UI
debug.sf.hw=1
5.拨号时间减少
ro.telephony.call_ring.delay=0
6.提高滚动反映
windowsmgr.max_events_per_sec=150
5.电池优化
wifi.supplicant_scan_interval=180
pm.sleep_mode=1
ro.ril.disable.power.collapse=0
6.提高整体触摸反应
debug.performance.tuning=1
video.accelerate.hw=1
7.网络调整
ro.ril.hsxpa=2
ro.ril.gprsclass=12
ro.ril.hep=1
ro.ril.hsdpa.category=10
ro.ril.enable.3g.prefix=1
ro.ril.htcmaskw1.bitmask=4294967295
ro.ril.htcmaskw1=14449
ro.ril.hsupa.category=6
ro.ril.def.agps.mode=2
ro.ril.def.agps.feature=1
ro.ril.enable.sdr=1
ro.ril.enable.gea3=1
ro.ril.enable.fd.plmn.prefix=23402,23410,23411
ro.ril.enable.a52=1
ro.ril.enable.a53=1
ro.ril.enable.dtm=1
8.网络速度调整
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960
9.修复通话结束后黑屏问题
ro.lge.proximity.delay=25
mot.proximity.delay=25
10.修复一些应用问题
ro.kernel.android.checkjni=0
11.禁用开机动画
debug.sf.nobootanimation=1
12.使用Stagefright让视频和音乐更快
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
上面的代码在system里build.prop最后另外起一行。

◆时间居中及现实到秒

状态栏时间居中的方法
1.反编译SystemUI.apk
2.找到res\layout\status_bar.xml
zzz_status_bar_gemini.xml
zzz_status_bar_gemini_cu.xml
(要修改上面三个文件)
3.用记事本打开status_bar.xml
4.找到如下代码:
com.android.systemui.statusbar.Clock android:textAppearance=@android:style/TextAppearance.StatusBar.Icon android:gravity=left|center android:paddingRight=4.0dip android:layout_width=wrap_content android:layout_height=fill_parent android:singleLine=true /
将上面这段删除(PS:U8的此段代码有几个单词与上面不同)
找到如下代码:
xmlns:android=http://schemas.android.com/apk/res/android
在后面添加
com.android.systemui.statusbar.Clock android:layout_gravity=center_horizontal android:paddingTop=4.0dip android:textColor=#ffffffff android:textAppearance=@android:style/TextAppearance.StatusBar.Icon android:layout_width=wrap_content android:layout_height=fill_parent android:singleLine=true /
#ffffffff可以更改自己喜欢的时间显示颜色
5.回编译,将编译后解压的status_bar.xml,替换到第一步所提取的SystemUI.apk里,压缩方式选存储
6.替换到手机里,重启就有效果
状态栏时间显示到秒的方法
(方法有缺陷,当秒变化时,电池及信号图标会跟着左右移动)
1.反编译SystemUI.apk(apk与odex要合并,不然反编译不了)
反编译教程:http://www.dospy.com/bbs/thread-14789744-1-609-1.html
2.找到
res\layout\status_bar.xml
res\layout\status_bar.xml
zzz_status_bar_gemini.xml
zzz_status_bar_gemini_cu.xml
(要修改上面三个文件)
3.用记事本打开status_bar.xml
4.找到如下代码:
com.android.systemui.statusbar.Clock android:textAppearance=@android:style/TextAppearance.StatusBar.Icon android:gravity=left|center android:paddingRight=4.0dip android:layout_width=wrap_content android:layout_height=fill_parent android:singleLine=true /
将上面的代码替换成:
DigitalClock android:textSize=14.0dip android:textStyle=bold android:textColor=#ffffffff android:gravity=center_vertical android:id=@+id/digitalClock android:paddingRight=4.0dip android:layout_width=wrap_content android:layout_height=fill_parent /
5.回编译,将编译后解压的status_bar.xml,替换到第一步所提取的SystemUI.apk里,压缩方式选存储
6.替换到手机里,重启就有效果
代码说明:
android:textSize=14.0dip 字体大小
android:textStyle=bold 字体显示为 粗体
android:textColor=#ffffffff 字体颜色(可自己替换,到网上查下html颜色代码)
ffffffff默认白色,前两个f是透明度一般不需要改,后面6个f为字体颜色
显示运营商
反编译SystemUI.apk
修改\res\layout\status_bar.xml
找到如下代码
LinearLayout androidrientation=horizontal android:id=@id/icons android:layout_width=fill_parent android:layout_height=fill_parent
在其下面添加如下代码:
com.android.systemui.statusbar.CarrierLabel android:textAppearance=@android:style/TextAppearance.StatusBar.Icon android:gravity=leftcenter android:paddingLeft=6.0dip android:layout_width=wrap_content android:layout_height=fill_parent android:singleLine=true /
修改完,回编、替换

◆全局透明
反编译framework-res.apk
在ramework-res\res\values下找到styles.xml
打开styles.xml
1.找到
<item name="colorBackground">@color/background_dark</item>
改成
<item name="colorBackground">@color/transparent</item>
2.找到
<item name="windowBackground">@drawable/screen_background_dark</item>
改成颜色代码
<item name="windowBackground">@color/transparent</item>
3.在这个主题下继续查看
查找<item name="windowShowWallpaper">false</item>
改成
<item name="windowShowWallpaper">true</item>
这里的窗体就是总的主题项目打开上面定义的透明度,这步骤很重要。
4.接下来要在一些常用主题里面引用这个窗体,还是继续
<style name="Theme.Black" parent="@style/Theme">
在这个主题里面
把<item name="windowBackground">@color/black</item>
改成
<item name="windowBackground">@color/transparent</item>
5.把这些主题项目:
<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>
6.找到这个
<style name="Theme.Holo" parent="@style/Theme">
查看这个段落已经有一句
<item name="windowShowWallpaper">false</item>的存在,把false改成true以后,这样就OK了

◆桌面图标大小及位置数量修改

部分ROM的桌面的图标,很大,行数和列数很少,看起来不够精致,那么,今天带来了一个小小的教程。教你修改桌面图标的大小和行列数。

第一步:反编译。这个就不用说了吧?

第二步
横屏
froyo\packages\apps\Launcher2\res\layout-land\workspace_screen.xml

竖屏 froyo\packages\apps\Launcher2\res\layout-port\workspace_screen.xml
修改图标的数量,把“”里面的数字改一下
launcher:shortAxisCells=”4〃
launcher:longAxisCells=”4〃
调整图标的间距,padding的意思是在内部填充这句话是在内部填充65像素的宽度。可以自己修改“”里的数值
launcher:longAxisStartPadding=”65dip”
launcher:longAxisEndPadding=”65dip”
launcher:shortAxisStartPadding=”0dip”
launcher:shortAxisEndPadding=”0dip”

突然就发现了,教程可能会多少有些出入,仔细看看,英文可以用百度翻译一下,翻译过来后,就完全都会明白的,总体思路就是反编译系统桌面软件。

◆状态栏布局解析

<?xml version="1.0" encoding="utf-8"?>
【状态栏布局】<com.android.systemui.statusbar.phone.PhoneStatusBarView android:orientation="vertical" android:background="@drawable/status_bar_background" android:focusable="true" android:descendantFocusability="afterDescendants"此段定义了状态栏的基本布局,整个xml都在这个布局之中。
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">


4.x的布局可以分为两个大布局几个小布局。

代码从上而下:

第一大布局:图标布局
⒈第三方通知图标布局
1.更多图标位置布局
2.第三方通知图标位置布局
⒉系统图标布局
1.信号电量布局
信号细分
电量细分
⒊时间布局

第二大布局:ticker布局



如果布局魅族,可以将其中的⒈⒉⒊整个提取出来,然后进行适当调整。


【图标布局】<LinearLayout android:orientation="horizontal" android:id="@id/icons"(图标) android:paddingLeft="6.0dip" android:paddingRight="6.0dip" android:layout_width="fill_parent" android:layout_height="fill_parent">此段定义了状态栏所有图标所在的布局,这个布局包含了以下所有布局,直到ticker。


〔第三方通知图标布局〕<LinearLayout android:orientation="horizontal" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0">此段定义了第三方通知图标所在的布局,此布局包含更多及通知图标布局。


<com.android.systemui.statusbar.StatusBarIconView android:id="@id/moreIcon"(更多图标) android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:src="@drawable/stat_notify_more" />此段定义了更多图标的位置,也就是通知图标多出布局的宽度时,自动隐藏的图标。



<com.android.systemui.statusbar.phone.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons"(通知图标) android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_alignParentLeft="true" />此段定义了第三方通知图标的位置。
</LinearLayout>
〔第三方图标布局结束〕


〔系统图标布局〕<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons"(系统图标) android:layout_width="wrap_content" android:layout_height="fill_parent" />此段定义了系统图标的位置,这段已经成为一个完整的小布局。



〔信号电量布局〕<LinearLayout android:gravity="center" android:orientation="horizontal" android:id="@id/signal_battery_cluster"(信号,电量) android:paddingLeft="2.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent">此段定义了信号,电量等等的位置布局


以下为信号电量细分
<include android:id="@id/signal_cluster"(信号) android:layout_width="wrap_content" android:layout_height="wrap_content" layout="@layout/signal_cluster_view" />
<TextView android:textSize="16.0sp" android:textColor="@android:color/holo_blue_light" android:id="@id/percentage" android:paddingLeft="4.0dip" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<ImageView android:id="@id/battery" (电量)android:paddingLeft="4.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</LinearLayout>
〔信号电量布局结束〕

<com.android.systemui.statusbar.policy.Clock (时间)android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:id="@id/clock" android:paddingLeft="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />此段定义了时间的位置。

</LinearLayout>
【图标布局结束】






以下都是定义了ticker的配置布局。
不会在状态栏上显示,只有状态栏收到通知时才会出现。


<LinearLayout android:orientation="horizontal" android:id="@id/ticker" android:paddingLeft="6.0dip" android:animationCache="false" android:layout_width="fill_parent" android:layout_height="fill_parent">

<ImageSwitcher android:id="@id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginRight="4.0dip">
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />
<com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" />
</ImageSwitcher>
<com.android.systemui.statusbar.phone.TickerView android:id="@id/tickerText" android:paddingTop="2.0dip" android:paddingRight="10.0dip" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_weight="1.0">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" />
</com.android.systemui.statusbar.phone.TickerView>
</LinearLayout>
<______________________________

原帖作者为 福泽灵 感谢提供