Подтвердить что ты не робот

Square LeakCanary Не удается найти символ

Here is the screenshot

build.gradle настроен в соответствии с инструкциями github.LeakCanary класс, кажется, не включен.

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

enter image description here

пакеты анализатора и наблюдателя содержат только один файл класса.

4b9b3361

Ответ 1

Реконструкция проекта исправила его для меня.

Там удаленный ответ (я не знаю почему) Kaushik Gopal, который дает это решение, и указывает на проблема Github

Ответ 2

Я искренне удивлен, что

 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'
}

Ответ 3

  • Убедитесь, что вы добавили библиотеки в build.gradle

    dependencies {
        debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
        releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
    }
    
  • добавить mavenCentral() в свои репозитории

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

Ответ 4

Попробуйте добавить @aar после номера версии для зависимости. Это заставит gradle специально искать библиотеку aar вместо jar (у меня была эта проблема в Maven, и добавление <type>aar</type>, казалось, помогло).

Ответ 5

Для моего начального проекта указание <<BUILDTYPE>>Implementation похоже, сработало:

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

Ответ 6

Я сталкиваюсь с подобной проблемой. Не следует использовать одно и то же имя класса LeakCanary при расширении приложения.

Я изменил код ниже:

public class LeakCanary extends Application { }

в

public class MainController extends Application { }

чтобы сделать это.