honglei92
V2EX  ›  Android

我的主工程引用了一个三方库 有没有办法在三方库某一段代码加一个埋点,统计执行的次数

  •  
  •   honglei92 · Feb 10, 2020 · 15651 views
    This topic created in 2289 days ago, the information mentioned may be changed or developed.
    25 replies    2020-02-11 23:41:37 +08:00
    IMCA1024
        1
    IMCA1024  
       Feb 10, 2020
    执行前后
    honglei92
        2
    honglei92  
    OP
       Feb 10, 2020
    @IMCA1024 什么意思
    honglei92
        4
    honglei92  
    OP
       Feb 10, 2020
    @visitant 就是想统计到三方库的某一段代码执行的次数
    ChenFanlin
        5
    ChenFanlin  
       Feb 10, 2020
    可以试试 https://github.com/nekocode/JarFilterPlugin, 替换那个文件为你自己的文件
    xFrye
        6
    xFrye  
       Feb 10, 2020
    你可能需要字节码操作?
    aguesuka
        7
    aguesuka  
       Feb 10, 2020   ❤️ 1
    最简单的。自己写一个同样包名,同样 class 名的 java 文件。加载时会优先加载你的文件
    yy2222186
        8
    yy2222186  
       Feb 10, 2020 via iPhone
    @aguesuka 你这样能通过编译?
    gaobing
        9
    gaobing  
       Feb 11, 2020 via Android
    切面,代理,装饰器模式,看可以用上哪个
    yejianmail
        10
    yejianmail  
       Feb 11, 2020 via Android
    @yy2222186 必须能编译过啊
    qfdk
        11
    qfdk  
    PRO
       Feb 11, 2020 via iPhone
    java 的话 instrumentation
    virusdefender
        12
    virusdefender  
       Feb 11, 2020
    fork 一份然后自己改
    Aresxue
        13
    Aresxue  
       Feb 11, 2020
    instrument、aop、asm、javasist
    mingl0280
        14
    mingl0280  
       Feb 11, 2020 via Android
    C/C++可以做函数打桩,网上有现成的代码。
    kaitian521
        15
    kaitian521  
       Feb 11, 2020
    honglei92
        16
    honglei92  
    OP
       Feb 11, 2020
    @ChenFanlin 谢谢大佬 it works
    honglei92
        17
    honglei92  
    OP
       Feb 11, 2020
    @virusdefender 不能 fork
    honglei92
        18
    honglei92  
    OP
       Feb 11, 2020
    honglei92
        19
    honglei92  
    OP
       Feb 11, 2020
    liujan
        20
    liujan  
       Feb 11, 2020 via iPad
    spring aop
    Cabana
        21
    Cabana  
       Feb 11, 2020 via Android
    aspectj
    pythonee
        22
    pythonee  
       Feb 11, 2020
    @Aresxue
    @gaobing

    正解
    qwerthhusn
        23
    qwerthhusn  
       Feb 11, 2020
    问:我提上了裤子,请问我如何躲过道德的制裁?

    网友:你干啥了?
    chenshun00
        24
    chenshun00  
       Feb 11, 2020
    1、最简单的。 @ChenFanlin 自己写一个同样包名,同样 class 名的 java 文件。加载时会优先加载你的文件 , 原理在 servlet 规范中有描述
    2、包装一下,wrap
    3、ASM,不过我觉得你不会.
    lis66951735
        25
    lis66951735  
       Feb 11, 2020
    java agent
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3095 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 11:37 · PVG 19:37 · LAX 04:37 · JFK 07:37
    ♥ Do have faith in what you're doing.