web-dev-qa-db-ja.com

私のAndroidライブラリ(AAR)にプロガード構成を含める方法

AARファイル仕様 に基づくAndroidライブラリには、「proguard.txt」ファイルが含まれています。私の理解では、このファイルはライブラリを正しく難読化および縮小化する方法を宣言しています。私の場合、いくつかのAPIクラスを保持する必要があります。

ライブラリのbuild.gradleでライブラリのproguard.txtファイルを宣言するにはどうすればよいですか?また、私のライブラリを使用するアプリケーション(APK)を作成するときに、このファイルは自動的に読み込まれますか?

AndroidのGradleプラグインユーザーガイドにこの情報が見つかりませんでした。

24

Gradleファイルのデフォルトの構成クロージャで、consumerProguardFilesではなくproguardFilesを使用してProguardファイルを指定します。例えば:

defaultConfig {
    consumerProguardFiles 'proguard.txt'
}
46
Johan Halin

ライブラリを作成する場合は、プロガードを無効にして、consumerProguardFilesを提供することができますbuild.gradleこれを解決する消費者プロジェクトで使用されます

Android {
    defaultConfig {
        consumerProguardFiles 'proguard-rules.pro'
    }

    buildTypes {
        release {
            minifyEnabled false
        }
    }
    //...
}

しかし、たとえば、ライブラリをアーカイブとして配布したい場合など、プロガードを有効にする必要がある場合は、次の可能性を使用できます。

Android {

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles 'proguard-rules.pro'
        }
    }
    //...
}
2
yoAlex5