工具
MT管理器(看版本号选最新版本)
NP管理器(看版本号选最新版本)
彩虹视频 /大地视频(自行必应)
教程
一、准备
1.在mt/np管理器提取安装包/找到安装包位置
2.去除软件签名效验,mt管理器中直接点击,np管理器中优先用超强方案2(去签后能正常打开不闪退才算成功,一般逆向都需要这一步)
3.随便选一个classex文件,点全选用dex++编辑器打开
二、开始
4.方法名搜索
TabBottomKitLayout找到e
5.复制以下所有代码
.method public e(Ljava/util/List;)V .registers 10 .param p1 # Ljava/util/List; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomInfo<", "*>;>;)V" } .end annotation .line 1 invoke-interface {p1}, Ljava/util/List;->isEmpty()Z .line 4 move-result v0 .line 5 if-eqz v0, :cond_7 .line 7 return-void .line 8 :cond_7 iput-object p1, p0, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomKitLayout;->a:Ljava/util/List; .line 10 invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I .line 13 move-result v0 .line 14 add-int/lit8 v0, v0, -0x1 .line 16 :goto_f if-lez v0, :cond_17 .line 18 invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->removeViewAt(I)V .line 21 add-int/lit8 v0, v0, -0x1 .line 23 goto :goto_f .line 24 :cond_17 const/4 v0, 0x0 .line 25 iput-object v0, p0, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomKitLayout;->b:Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomInfo; .line 27 iget-object v0, p0, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomKitLayout;->c:Ljava/util/List; .line 29 invoke-interface {v0}, Ljava/util/List;->clear()V .line 32 invoke-virtual {p0}, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomKitLayout;->b()V .line 35 const/high16 v0, 0x42600000 # 56.0f .line 37 invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources; .line 40 move-result-object v1 .line 41 invoke-static {v0, v1}, Lg0/a;->a(FLandroid/content/res/Resources;)I .line 44 move-result v0 .line 45 invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context; .line 48 move-result-object v1 .line 49 invoke-static {v1}, Lg0/a;->b(Landroid/content/Context;)I .line 52 move-result v1 .line 53 invoke-interface {p1}, Ljava/util/List;->size()I .line 56 move-result v2 # 计算新的按钮数量 = 总数 - 2(去掉推广和我的) add-int/lit8 v2, v2, -0x2 .line 57 div-int/2addr v1, v2 .line 58 new-instance v2, Landroid/widget/FrameLayout; .line 60 invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context; .line 63 move-result-object v3 .line 64 invoke-direct {v2, v3}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V .line 67 const-string v3, "TAG_TAB_BOTTOM" .line 69 invoke-virtual {v2, v3}, Landroid/view/View;->setTag(Ljava/lang/Object;)V .line 72 const/4 v3, 0x0 .line 73 :goto_48 invoke-interface {p1}, Ljava/util/List;->size()I .line 76 move-result v4 .line 77 const/16 v5, 0x50 # 跳过第4个按钮:推广(索引3) const/4 v6, 3 if-eq v3, v6, :goto_next # 跳过第5个按钮:我的(索引4) const/4 v6, 4 if-eq v3, v6, :goto_next if-ge v3, v4, :cond_80 .line 81 invoke-interface {p1, v3}, Ljava/util/List;->get(I)Ljava/lang/Object; .line 84 move-result-object v4 .line 85 check-cast v4, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomInfo; .line 87 new-instance v6, Landroid/widget/FrameLayout$LayoutParams; .line 89 invoke-direct {v6, v1, v0}, Landroid/widget/FrameLayout$LayoutParams;-><init>(II)V .line 92 iput v5, v6, Landroid/widget/FrameLayout$LayoutParams;->gravity:I .line 94 mul-int v5, v3, v1 .line 96 iput v5, v6, Landroid/widget/FrameLayout$LayoutParams;->leftMargin:I .line 98 new-instance v5, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottom; .line 100 invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context; .line 103 move-result-object v7 .line 104 invoke-direct {v5, v7}, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottom;-><init>(Landroid/content/Context;)V .line 107 iget-object v7, p0, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomKitLayout;->c:Ljava/util/List; .line 109 invoke-interface {v7, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 112 invoke-virtual {v5, v4}, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottom;->setTabInfo(Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomInfo;)V .line 115 invoke-virtual {v2, v5, v6}, Landroid/view/ViewGroup;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 118 new-instance v6, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomKitLayout$a; .line 120 invoke-direct {v6, p0, v4}, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomKitLayout$a;-><init>(Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomKitLayout;Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomInfo;)V .line 123 invoke-virtual {v5, v6}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V .line 126 :goto_next add-int/lit8 v3, v3, 0x1 .line 128 goto :goto_48 .line 129 :cond_80 new-instance p1, Landroid/widget/FrameLayout$LayoutParams; .line 131 const/4 v0, -0x2 .line 132 const/4 v1, -0x1 .line 133 invoke-direct {p1, v1, v0}, Landroid/widget/FrameLayout$LayoutParams;-><init>(II)V .line 136 iput v5, p1, Landroid/widget/FrameLayout$LayoutParams;->gravity:I .line 138 invoke-virtual {p0}, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomKitLayout;->c()V .line 141 invoke-virtual {p0, v2, p1}, Landroid/view/ViewGroup;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V .line 144 invoke-virtual {p0}, Lcom/bboost/btemplate/begin/widget/bottomTab/TabBottomKitLayout;->g()V .line 147 return-void.end method
6.粘贴复制的代码到e方法名上去,把原来的代码全部删除
7.到此一切结束,一路保存返回签名安装即可
特别说明
通用于彩虹视频,大地视频这类影视软件。
来源(安鹿轩)www.anlubk.com/2026/02/14/…