一、CM10状态栏透明教程
要修改两个文件:systemui.apk和android.policy.jar
首先反编译systemui.apk
用Notepad++文本软件打开values\drawables.xml
找到 <item type="drawable" name="status_bar_background">#ff000000</item>
修改值:#ff000000,70是半透明,00是全透明,也可以是b0等..自己决定.
然后保存。回编译进行替换,将原来的SystemUI.apk用RAR压缩程序打开,将编译后生成的文件夹build中的classes.dex和resources.arsc文件拖入原来的SystemUI.apk中,存储方式为存储。
另外还要反编译android.policy.jar文件
怎么反编译呢?将android.policy.jar文件用RAR压缩程序把里面的classes.dex解压到桌面并进行反编译
用Notepad++文本软件打开smali\com\android\internal\policy\impl\PhoneWindowManager.smali文件
找到.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I将下面的
.line 2984
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_1b
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 2986
:goto_1a
return v0
.line 2985
:cond_1b
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_26
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_1a
.line 2986
:cond_26
const/4 v0, 0x0
goto :goto_1a
改成:
.line 2984
const/4 v0, 0x0
return v0
保存。回编译进行替换,将原来的android.policy.jar用RAR压缩程序打开,将回编译得到的classes.dex文件拖入原来的android.policy.jar中,存储方式为存储。然后就可以将新的SystemUI.apk和android.policy.jar用RE放入手机对应目录中,修改权限后重启后就可以了。
要修改两个文件:systemui.apk和android.policy.jar
首先反编译systemui.apk
用Notepad++文本软件打开values\drawables.xml
找到 <item type="drawable" name="status_bar_background">#ff000000</item>
修改值:#ff000000,70是半透明,00是全透明,也可以是b0等..自己决定.
然后保存。回编译进行替换,将原来的SystemUI.apk用RAR压缩程序打开,将编译后生成的文件夹build中的classes.dex和resources.arsc文件拖入原来的SystemUI.apk中,存储方式为存储。
另外还要反编译android.policy.jar文件
怎么反编译呢?将android.policy.jar文件用RAR压缩程序把里面的classes.dex解压到桌面并进行反编译
用Notepad++文本软件打开smali\com\android\internal\policy\impl\PhoneWindowManager.smali文件
找到.method public getSystemDecorRectLw(Landroid/graphics/Rect;)I将下面的
.line 2984
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mStatusBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_1b
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 2986
:goto_1a
return v0
.line 2985
:cond_1b
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBar:Landroid/view/WindowManagerPolicy$WindowState;
if-eqz v0, :cond_26
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_1a
.line 2986
:cond_26
const/4 v0, 0x0
goto :goto_1a
改成:
.line 2984
const/4 v0, 0x0
return v0
保存。回编译进行替换,将原来的android.policy.jar用RAR压缩程序打开,将回编译得到的classes.dex文件拖入原来的android.policy.jar中,存储方式为存储。然后就可以将新的SystemUI.apk和android.policy.jar用RE放入手机对应目录中,修改权限后重启后就可以了。