A830-官方4.12-----实现状态栏透明化<<实用教程>>
本帖最后由 习惯失忆 于 2013-5-10 20:04 编辑1、从手机System/framework/中提取文件android.policy.jar到电脑上,反编译android.policy.jar(跟反编译APK一样,反编译之前的工作这里就不多讲了,百度都有)
2、
反编译成功后得到android.policy.jar.out文件夹(视情况而定),对应打开
smali\com\android\internal\policy\impl\PhoneWindowManager.smali,然后用Notepad++软件打开(这个自行百度,其他相应的软件都行)
3、 重点来了,用搜索功能找到下面全部要删除
.line 2555
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
move-result v0
.line 2557
:goto_0
return v0
.line 2556
:cond_0
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_1
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
invoke-interface {v0}, Landroid/view/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
move-result v0
goto :goto_0
.line 2557
:cond_1
const/4 v0, 0x0
goto :goto_0
删除上面代码后需要添加上下面代码
**** Hidden Message *****
完了之后,代码间注意间隙,保存;
4 、回编译(跟回编译apk类似,百度有相应的教程,这里不多讲了),会重新得到一个classes.dex文件,这个文件具体在哪个文件夹,稍微懂得点编译的应该知道,再来就是把原来的android.policy.jar用WinRAR打开,把重新得到的classes.dex文件替换储存到原来的android.policy.jar文件中,然后改权限替换到手机中(具体替换到哪,前面有讲) android.policy.jar文件的修改就到这。
B、
还需要反编译SystemUI.apk,修改res/values/drawables.xml中的<itemtype="drawable"
name="status_bar_background">#ff000000</item>
**** Hidden Message *****
具体修改哪里应该知道了吧,然后回编译替换resources.arsc,最后替换到手机中重启,就可以实现状态栏透明化了。
教程来源:我师傅,我的师傅是谁?我就不告诉你!!
沙发,顶楼主。。。。。。 看得头晕,懒的整了 :loveliness::loveliness::loveliness: 顶起来:lol 顶个吧.我看看., :):):):)xxxxxxxxxxxxxxxx 哎呀我去····好复杂 感谢楼主的分享,学习一下
貌似非常麻烦地说…