APP动态调试lib模块(No executable code found解决方案)-APP的debug版集成lib的debug版

APP集成了lib模块,发现lib模块的代码不能调试,调试时出现 No executable code found错误:
APP动态调试lib模块(No executable code found解决方案)-APP的debug版集成lib的debug版_第1张图片

把APK转换为jar包发现,lib的代码被混淆了,DEBUG下调试代码被混淆,会造成与源码的不匹配,因此要解决这个问题,必须先解决为什么debug下lib代码会被混淆,需要确认以下几点:
1、lib模块的gradle配置:
buildTypes {
    debug {
        minifyEnabled false  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  }

    release {
        minifyEnabled true  proguardFiles getDefaultProguardFile('proguard-android-optimizetxt'), 'proguard-rules.pro'  }
}
debug下不能混淆,同时APP模块里的 buildTypes的debug配置也不能有混淆。

2、确认Build Variants配置是否一致:
APP动态调试lib模块(No executable code found解决方案)-APP的debug版集成lib的debug版_第2张图片

3、参考 Different dependencies for debug and release in gradle and Android Studio
在APP模块的gradle里配置:
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])  debugCompile project(path: ':bugrpt', configuration: "libraryDebug")
    releaseCompile project(path: ':bugrpt', configuration: "libraryRelease") }
在lib模块的gradle里配置:
android {
    defaultPublishConfig 'release'  publishNonDefault true  productFlavors {
        library {
        }
    }
}
此时再看 Build Variants 也是一致的。


参考:
Different dependencies for debug and release in gradle and Android Studio

你可能感兴趣的:(APP动态调试lib模块(No executable code found解决方案)-APP的debug版集成lib的debug版)