LeakCanary导致编译冲突问题
坑点:
在比较旧的项目build.gradle文件中添加LeakCanary依赖准备分析内存泄露,可以sync,但是build的时候直接报错不通过:
Program type already present: android.support.v4.app.TaskStackBuilder$SupportParentable解决办法就是移除引入库中的额外重复依赖:
// 内存泄露检测工具,debug版才有,release版自动移除。不要更新到最新版本有依赖冲突,这个版本没有
debugApi('com.squareup.leakcanary:leakcanary-android:1.6.2') {
exclude group: 'com.android.support'
exclude module: 'support-v4'
}
releaseApi('com.squareup.leakcanary:leakcanary-android-no-op:1.6.2') {
exclude group: 'com.android.support'
exclude module: 'support-v4'
}或者降低到低版本的,没有这个问题:
debugApi 'com.squareup.leakcanary:leakcanary-android:1.5.4'
releaseApi 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'技巧:
在代码项目路径下,运行命令检查依赖项:
./gradlew app:dependencies会检测出依赖关系:


评论 (1)
参考博客:
程序类型已存在:android.support.v4.app.BackStackRecord