web-dev-qa-db-ja.com

SquareLeakCanaryシンボルが見つかりません

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

アナライザーおよびウォッチャーパッケージには、単一のクラスファイルが1つだけ含まれています。

23
WenChao

プロジェクトを再構築することで、私はそれを修正しました。

Kaushik Gopal によって削除された回答があります(理由はわかりません)。これは、この解決策を提供し、 Githubの問題 を示しています。

12
Maragues

正直驚いています

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

それは私のために働いたので、あなたのために働いていませんでした。

ProductFlavourの代わりにbuildTypeで試してみたいと思うかもしれません。

dependencies {
   someBuildTypeCompile 'com.squareup.leakcanary:leakcanary-Android:1.3'
}
7
Vic Torious
  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()
         }
    }
    _
2
tuder

依存関係のバージョン番号の後に@aarを追加してみてください。これにより、gradleはjarではなくaarライブラリを具体的に探すようになります(Mavenでこの問題が発生し、<type>aar</type>を追加すると役立つようでした)。

1
Thorbear

私のgradleプロジェクトでは、<<BUILDTYPE>>Implementationを指定するとうまくいくようでした。

    dependencies {
        mybuildtypeImplementation 'com.squareup.leakcanary:leakcanary-Android:1.6.3'
    }
0
Tom Howard

私はこの同様の問題に直面しています。Applicationを拡張するときに同じクラス名LeakCanaryを使用しないでください。

以下のコードを変更しました。

public class LeakCanary extends Application { }

public class MainController extends Application { }

それを成し遂げるために。

0
Ted