在debug模式下引入一些性能检测工具

我们经常在debug模式下使用一些性能检测工具,例如blockCannary,leakCannary、Stetho等,但是我们release的时候又不需要这些检测工具,通常情况下我们的做法是在build.gradle中写上debugImplementation “xxx.xxx.xxx.xxx”这样代码里写入BuildConfig.DEBUG来实现是否调用相关方法,但是发release版本的时候没有引入这些类又会报错,所以只能手动去注释掉代码。这是何等的麻烦。

因此我们需要一些其他的方法来解决这个问题,就是利用android的debug模式。

新建src/debug/java文件夹,在里面自定义一个application继承src/main/java下的自定义的application。如下

public class MyDebugApplication extends MyApplication{

  public void oncreate(){

    super.onCreate();

    LeakCanary.install(this);

  }

}

然后为了能够在debug的时候启动的是这个MyDebugApplication我们需要再创建一个debug的AndroidManifest.xml文件,文件内部这样写

<application
tools:replace="android:name"
android:name=".MyDebugApplication"/>

这样的话在程序构建时,如果是debug版本会将src/debug/androidManifest.xml文件合并到src/main/AndroidManifest.xml文件中,并替换掉android:name指定的application。

猜你喜欢

转载自www.cnblogs.com/dongweiq/p/9105336.html