繁体   English   中英

如何在Android Studio中调试android库模块?

[英]How to debug android library module in Android Studio?

我有一个包含库模块的Android Studio项目,该库模块作为另一个gradle项目添加到其中。 我想调试库代码并在其上设置断点。

如果我想在模拟器或真实设备上运行应用程序时调试库模块,我应该使用哪些gradle设置?


更新1

这是settings.gradle文件:

include ':app'
include':my-library'

经过几天的努力,我找到了能够调试库模块的正确配置:

1- 创建一个由两个模块组成的项目,即应用程序库模块

2-从library-moduleapp 添加直接模块依赖性。 这就是app的build.gradle:

compile project(':library-module')

3- 删除 app build.gradle中添加的所有自动签名配置

4-从applibrary-module 删除这些行

minifyEnabled true
shrinkResources true

我将库模块Debug和Release构建类型都设置为debuggable

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        debuggable true
        jniDebuggable true
    }
    debug {
        debuggable true
        jniDebuggable true
        minifyEnabled false
    }
}

我很久以前就遇到过这个问题。 即使您将其设置为调试,某些gradle版本也会将库切换到释放模式。 修复程序是更新gradle到最新版本。 如果它没有解决它。 在您的图书馆内,请勿使用:

if BuildConfig.DEBUG

改为使用:

boolean isDebuggable = ( 0 != ( getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE ) );

我正在使用此设置来调试我的库:

|- myApplication
|  |- settigs.gradle
|  |- build.gradle
|     ...
|- myLibrary
   |- build.gradle
      ...

添加到settings.gradle:

include ':myLibrary'
project(':myLibrary').projectDir = new File(settingsDir, '../myLibrary')

添加到build.gradle(你的应用)

compile project(':myLibrary')

简单地包含了您的库,您可以像在应用程序中一样调试和设置断点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM