Tencent / matrix

Matrix is a plugin style, non-invasive APM system developed by WeChat.
Other
11.62k stars 1.88k forks source link

StartupTracer不兼容AndroidX #421

Open fengshenzhu opened 4 years ago

fengshenzhu commented 4 years ago

异常类型:StartupTracer不兼容AndroidX

手机型号:MI 8

手机系统版本:Android 9.0

matrix版本:0.6.0

gradle版本:3.5.2

问题描述:StartupTracer未在继承自androidx.appcompat.app.AppCompatActivity的Activity的onWindowFocusChanged插桩AppMethodBeat#at,导致未上报启动耗时

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.tencent.matrix.trace.core.AppMethodBeat;

public class SplashActivity extends AppCompatActivity {
    public SplashActivity() {
    }

    protected void onCreate(Bundle savedInstanceState) {
        AppMethodBeat.i(1);
        super.onCreate(savedInstanceState);
        this.setContentView(2131361821);
        AppMethodBeat.o(1);
    }
}
NiLuogege commented 4 years ago

目前 Matrix 本来就不支持 AndroidX

Raynor999 commented 4 years ago

存在同样的问题,想问下是否有计划解决这个问题

jingchao920315 commented 4 years ago

存在同样的问题,想问下是否有计划解决这个问题

echooo10 commented 3 years ago

https://github.com/Tencent/matrix/pull/554

如上方PR,加两行代码即可兼容AndroidX

AliMaster commented 3 years ago

楼上的 pr 并不是必须的,这里是增量更新的 bug 导致类继承关系没有创建完整,没将 SplashActivity 判断为是 Activity 的子类,同时这里 method id 也是错的,解决方式就是 clean 后编译,或者 rebuild project