我不是Android开发人员,并且在Cordova中有一个构建,我想使用LeakCanary检查内存泄漏...(我不知道实际的Android构建环境如何工作,并且一直在研究中)。

对于安装,LeakCanary指出“在build.gradle中”:

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

将以上内容复制并粘贴到build.gradle(模块:android)后,出现以下错误:



并在错误日志中



关于如何解决此问题的任何想法?我一直在进行研究,但取得的成功有限。

谢谢!

最佳答案

经过一些摆弄,我让LeakCanary工作了,尽管我不能说它是否整体起作用(它在运行,并在我的应用程序中提供了一些泄漏数据)。

我也不明白为什么它不起作用...

  • 使用文件>项目结构>模块:CordovaLib(不是“android”)>
    依赖项选项卡
  • 添加以下内容:


  • build.gradle(模块:CordovaLib)现在应该位于最底部:
    dependencies {
      debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'
      releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
      androidTestCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
    }
    
  • 中,CordovaActivity.java :
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         if (LeakCanary.isInAnalyzerProcess(this)) {
          // This process is dedicated to LeakCanary for heap analysis.
          // You should not init your app in this process.
           return;
    }
    LeakCanary.install(getApplication());
    ...
    }
    

  • 我相信现在应该可以了。

    有趣的是,如果我正确安装LeakCanary(3.2 kb),并带有切换屏幕,旋转电话,后退和退出应用程序,似乎Ionic / Cordova的泄漏很小。

    关于android - 与Cordova的LeakCanary依赖关系-找不到方法debugCompile(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41785949/

    10-12 04:49