Giter VIP home page Giter VIP logo

Comments (5)

supern avatar supern commented on May 3, 2024

补丁文件发我一下。
你这是新增方法么?

from andfix.

jbg168 avatar jbg168 commented on May 3, 2024

是新增方法:
apkpatch执行时日志
add modified Method:V onCreate(Landroid/os/Bundle;) in Class:Lcom/euler/andfix/MainActivity;
add modified Method:Ljava/lang/String; a(Ljava/lang/String;) in Class:Lcom/euler/test/A;
add modified Method:I b(Ljava/lang/String;Ljava/lang/String;) in Class:Lcom/euler/test/Fix;
add new Method:I getI() in Class:Lcom/euler/test/Fix;
补丁文件中Fix_CF.smali:
.class public Lcom/euler/test/Fix_CF;
.super Ljava/lang/Object;
.source "Fix.java"

static fields

.field static i:I

.field private static o:Lcom/euler/test/O;

instance fields

.field s:Ljava/lang/String;

direct methods

.method static constructor ()V
.locals 2

.prologue
.line 30
new-instance v0, Lcom/euler/test/O;

const-string v1, "fix"

invoke-direct {v0, v1}, Lcom/euler/test/O;-><init>(Ljava/lang/String;)V

sput-object v0, Lcom/euler/test/Fix_CF;->o:Lcom/euler/test/O;

.line 31
const/16 v0, 0xb

sput v0, Lcom/euler/test/Fix_CF;->i:I

return-void

.end method

.method public constructor ()V
.locals 1

.prologue
.line 28
invoke-direct {p0}, Ljava/lang/Object;-><init>()V

.line 29
const-string v0, "s"

iput-object v0, p0, Lcom/euler/test/Fix_CF;->s:Ljava/lang/String;

return-void

.end method

.method public static a(Ljava/lang/String;)Ljava/lang/String;
.locals 2
.param p0, "str" # Ljava/lang/String;

.prologue
.line 34
const-string v0, "qq"

invoke-static {v0, p0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

.line 35
const-string v0, "euler"

const-string v1, "fix succes"

invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

.line 36
const-string v0, "b"

return-object v0

.end method

.method private c()Ljava/lang/String;
.locals 1

.prologue
.line 48
const-string v0, "a"

return-object v0

.end method

virtual methods

.method public b(Ljava/lang/String;Ljava/lang/String;)I
.locals 3
.param p1, "s1" # Ljava/lang/String;
.param p2, "s2" # Ljava/lang/String;
.annotation runtime Lcom/alipay/euler/andfix/annotation/MethodReplace;
method = "b"
clazz = "com.euler.test.Fix"
.end annotation

.prologue
.line 40
const-string v0, "euler"

invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

.line 41
const-string v0, "euler"

new-instance v1, Ljava/lang/StringBuilder;

invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

sget v2, Lcom/euler/test/Fix;->i:I

invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

move-result-object v1

const-string v2, "=="

invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v1

invoke-direct {p0}, Lcom/euler/test/Fix_CF;->c()Ljava/lang/String;

move-result-object v2

invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v1

invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

move-result-object v1

invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

.line 42
const-string v0, "euler"

new-instance v1, Ljava/lang/StringBuilder;

invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

const-string v2, "fix succes"

invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v1

iget-object v2, p0, Lcom/euler/test/Fix_CF;->s:Ljava/lang/String;

invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v1

invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

move-result-object v1

invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

.line 43
const-string v0, "euler"

sget-object v1, Lcom/euler/test/Fix;->o:Lcom/euler/test/O;

iget-object v1, v1, Lcom/euler/test/O;->s:Ljava/lang/String;

invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

.line 44
const/16 v0, 0x2710

return v0

.end method

.method public getI()I
.locals 1

.prologue
.line 52
sget v0, Lcom/euler/test/Fix;->i:I

return v0

.end method

from andfix.

supern avatar supern commented on May 3, 2024

@jbg168 Activity的呢

from andfix.

LuckZhang avatar LuckZhang commented on May 3, 2024

@jbg168 这个问题最终如何解决的,能否帮忙解答一下,谢谢!

from andfix.

AnotherSkyBoy avatar AnotherSkyBoy commented on May 3, 2024

不可以直接修改Acitivity中的方法吧,activity在menifest里面声明了,热修复后的类是映射为xxx_CF,是没有在menifest中声明的

from andfix.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.