You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Smali代码去除点击跳转URL后的包名

如何修改Smali代码移除URL附加的应用包名

别担心,作为Smali新手遇到这种问题很正常,我来帮你快速定位并解决问题。

你的代码里,点击评论按钮后URL会附加应用包名,原因是在onClick方法中,代码主动把包名追加到了目标URL后面。我们只需要删除这段追加包名的逻辑即可。

问题代码定位

在onClick方法里,从.line 89开始的这段代码就是罪魁祸首:

.line 89
iget-object v3, p0, Lcom/elkurdi/calloutalerter/MainActivity$ReviewButtonListener;->this$0:Lcom/elkurdi/calloutalerter/MainActivity;
invoke-virtual {v3}, Lcom/elkurdi/calloutalerter/MainActivity;->getApplicationContext()Landroid/content/Context;
move-result-object v3
invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2

这段代码的作用是获取当前应用的包名,然后通过StringBuilder.append()把它加到了初始URL(https://www.google.com/)的末尾。

修改方法

直接删除上述所有代码行即可。删除后,StringBuilder就只会保留你最初设置的目标URL,不会再附加任何额外内容。

修改后的核心代码片段

删除后,onClick方法里的URL构建部分会变成这样:

.line 88
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "https://www.google.com/"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

.line 88
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1

这样修改后,点击评论按钮就只会跳转到你设置的https://www.google.com/,不会再附加应用包名了。

内容的提问来源于stack exchange,提问作者MD ELkurdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:41:32