Square LeakCanary 找不到符号

Square LeakCanary Cannot find symbol

build.gradle 已按照 github 配置 insturctions.LeakCanary class 似乎不包括在内。

 dependencies {
   debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
   releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'
 }

analyzer 和 watcher 包中只有 1 个 class 文件。

重建项目为我修复了它。

Kaushik Gopal that gives this solution and points to a Github issue

删除了一个答案(我不知道为什么)

尝试在依赖项的版本号后添加 @aar。这将使 gradle 专门查找 aar 库而不是 jar(我在 Maven 中遇到了这个问题,添加 <type>aar</type> 似乎有所帮助)。

我真的很惊讶

 dependencies {
   debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
   releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'
 }

对你没用,因为对我有用。

也许您想尝试使用您的 buildType 而不是 productFlavour:

dependencies {
   someBuildTypeCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
}
  1. 确保将库添加到 build.gradle

    dependencies {
        debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
        releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
    }
    
  2. mavenCentral() 添加到您的存储库

    buildscript {
        repositories {
            jcenter()
            mavenCentral()
        }
        dependencies {
             classpath 'com.android.tools.build:gradle:1.5.0'
        }
    }
    allprojects {
         repositories {
             jcenter()
             mavenCentral()
         }
    }
    

对于我的 gradle 项目,指定 <<BUILDTYPE>>Implementation 似乎有效:

    dependencies {
        mybuildtypeImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3'
    }

我遇到类似的 issue.You 在扩展应用程序时不应该使用相同的 class 名称 LeakCanary。

我更改了以下代码:

public class LeakCanary extends Application { }

public class MainController extends Application { }

完成它。