高中生

- 金币
- 726
- 好评
- 0
- 信誉
- 100
|
首先感谢 #Z12127596大佬分享的破解方法
此贴仅针对退出软件时报错界面进行修复
1. 搜索类名 Lcc/dm_video/MainActivity; → 然后找到onKeyDown 方法,将全部代码替换为
.method public onKeyDown(ILandroid/view/KeyEvent;)Z
.registers 6
.param p1, "keyCode" # I
.param p2, "event" # Landroid/view/KeyEvent;
.line 1
invoke-virtual {p0}, Landroidx/fragment/app/FragmentActivity;->getSupportFragmentManager()Landroidx/fragment/app/FragmentManager;
move-result-object v0
const-string v1, "cc.dm_video.fragement.DiscoverFg"
invoke-virtual {v0, v1}, Landroidx/fragment/app/FragmentManager;->findFragmentByTag(Ljava/lang/String;)Landroidx/fragment/app/Fragment;
move-result-object v0
# 核心判空(修复闪退关键)+ 提前定义v2=1,解决校验失败
const/4 v2, 0x1
if-eqz v0, :cond_1e
.line 2
invoke-virtual {v0}, Landroidx/fragment/app/Fragment;->isVisible()Z
move-result v1
if-eqz v1, :cond_1e
.line 3
instance-of v1, v0, Lcc/dm_video/ui/b/a;
if-eqz v1, :cond_1e
.line 4
check-cast v0, Lcc/dm_video/ui/b/a;
invoke-interface {v0, p1, p2}, Lcc/dm_video/ui/b/a;->onKeyDown(ILandroid/view/KeyEvent;)Z
move-result v0
if-eqz v0, :cond_1e
return v2
.line 5
:cond_1e
iget-object v0, p0, Lcc/dm_video/MainActivity;->drawer:Landroidx/drawerlayout/widget/DrawerLayout;
const v1, 0x800003
invoke-virtual {v0, v1}, Landroidx/drawerlayout/widget/DrawerLayout;->isDrawerOpen(I)Z
move-result v0
if-eqz v0, :cond_2f
.line 6
iget-object v0, p0, Lcc/dm_video/MainActivity;->drawer:Landroidx/drawerlayout/widget/DrawerLayout;
invoke-virtual {v0, v1}, Landroidx/drawerlayout/widget/DrawerLayout;->closeDrawer(I)V
goto :goto_51
:cond_2f
const/4 v0, 0x4
if-ne p1, v0, :cond_51
.line 7
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide p1
iget-wide v0, p0, Lcc/dm_video/MainActivity;->mExitTime:J
sub-long/2addr p1, v0
const-wide/16 v0, 0x7d0
cmp-long p1, p1, v0
if-lez p1, :cond_4c
const-string/jumbo p1, "再按一次退出程序"
.line 8
invoke-static {p1}, Lcc/dm_video/app/BaseApplication;->b(Ljava/lang/String;)V
.line 9
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide p1
iput-wide p1, p0, Lcc/dm_video/MainActivity;->mExitTime:J
goto :goto_50
:cond_4c
const/4 p1, 0x0
.line 10
invoke-static {p1}, Ljava/lang/System;->exit(I)V
:goto_50
return v2
.line 11
:cond_51
:goto_51
invoke-super {p0, p1, p2}, Landroidx/appcompat/app/AppCompatActivity;->onKeyDown(ILandroid/view/KeyEvent;)Z
move-result p1
return p1
.end method
|
|