Is proguard.cfg needed for library projects?

Solution 1:

Library projects by themselves don't run ProGuard, so they don't use any configuration.

Application projects obfuscate the entire code base, including any referenced libraries, so they need proper configuration for the application code and for the library code.

Solution 2:

It appears that the answer is "No": Proguard will obfuscate code from the libraries too.

But that was in 2010 and we know very well that specifications keep changing, especially in the Android development tools. So if a more authoritative answer comes along, I will accept it.

Solution 3:

  1. In build.gradle of library project, add line: consumerProguardFiles 'proguard-rules.pro' in buildTypes as:

    buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        consumerProguardFiles 'proguard-rules.pro'
    }
    

    }

  2. In build.gradle of root project, enable minifyEnabled. The libraray proguard will work.