接入第一步

在根目录的gradle.properties 文件添加Matrix的版本号

MATRIX_VERSION=0.5.1

当前版本0.5.1运行就会报错,报错内容是栈内存超出,因为给出的代码混淆过只能知道一个i 方法报错,根本原因就是这个版本循环调用了该方法引起

解决办法:替换版本,换成0.4.8或者0.5.2(这个版本还未公布,但是也是可以使用的)

接入第二步

在项目的build.gradle文件中添加:

dependencies {

classpath ("com.tencent.matrix:matrix-gradle-plugin:${MATRIX_VERSION}") { changing = true }

}

接入第三步

在app/build.gradle.文件中添加

dependencies {

implementation group: "com.tencent.matrix", name: "matrix-android-lib", version: MATRIX_VERSION, changing: true

implementation group: "com.tencent.matrix", name: "matrix-android-commons", version: MATRIX_VERSION, changing: true

implementation group: "com.tencent.matrix", name: "matrix-trace-canary", version: MATRIX_VERSION, changing: true

implementation group: "com.tencent.matrix", name: "matrix-resource-canary-android", version: MATRIX_VERSION, changing: true

implementation group: "com.tencent.matrix", name: "matrix-resource-canary-common", version: MATRIX_VERSION, changing: true

implementation group: "com.tencent.matrix", name: "matrix-io-canary", version: MATRIX_VERSION, changing: true

implementation group: "com.tencent.matrix", name: "matrix-sqlite-lint-android-sdk", version: MATRIX_VERSION, changing: true

}

apply plugin: 'com.tencent.matrix-plugin'

matrix {

trace {

enable = true //if you don't want to use trace canary, set false

baseMethodMapFile = "${project.buildDir}/matrix_output/Debug.methodmap"

blackListFile = "${project.projectDir}/matrixTrace/blackMethodList.txt"

}

}

接入第四步

创建一个监听类

public class TestPluginListener extends DefaultPluginListener {

public static final String TAG = "Matrix.TestPluginListener";

public TestPluginListener(Context context) {

super(context);

}

@Override

public void onReportIssue(Issue issue) {

super.onReportIssue(issue);

MatrixLog.e(TAG, issue.toString());

//add your code to process data

}

}

接入第五步

创建一个配置类:

public class DynamicConfigImplDemo implements IDynamicConfig {

public DynamicConfigImplDemo() {}

public boolean isFPSEnable() { return true;}

public boolean isTraceEnable() { return true; }

public boolean isMatrixEnable() { return true; }

public boolean isDumpHprof() { return false;}

@Override

public String get(String key, String defStr) {

//hook to change default values

retrun defStr;

}

@Override

public int get(String key, int defInt) {

//hook to change default values

retrun defInt;

}

@Override

public long get(String key, long defLong) {

//hook to change default values

retrun defLong;

}

@Override

public boolean get(String key, boolean defBool) {

//hook to change default values

retrun defBool;

}

@Override

public float get(String key, float defFloat) {

retrun defFloat;

}

}

接入第六步

在APPlication类中初始化:

Matrix.Builder builder = new Matrix.Builder(application); // build matrix

builder.patchListener(new TestPluginListener(this)); // add general pluginListener

DynamicConfigImplDemo dynamicConfig = new DynamicConfigImplDemo(); // dynamic config

// init plugin

IOCanaryPlugin ioCanaryPlugin = new IOCanaryPlugin(new IOConfig.Builder()

.dynamicConfig(dynamicConfig)

.build());

//add to matrix

builder.plugin(ioCanaryPlugin);

//init matrix

Matrix.init(builder.build());

// start plugin

ioCanaryPlugin.start();

这样就完成接入,跑一遍项目.然后就可以执行后续操作了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐