概要
Androidのライブラリを作ってる時に、Proguardの難読化対象外にしたいクラスができることがある。(依存している他のライブラリで難読化させたくないクラスがあるなど)
これをライブラリを利用する側でそこまで意識して都度Proguardファイルをメンテしていくのはつらいので、何か良い方法は無いかなと探していたら解決策を見つけた。
対応方法
consumerProguardFiles
をdefaultConfigに含めてあげればそれを使ってくれるようだ。
あとはいつも通りこのライブラリで難読化から外したいクラスやメソッドを書いていくだけ。
ライブラリの設定ファイルの名前を指定するには、ライブラリの build.gradle ファイルの defaultConfig ブロックで consumerProguardFiles メソッドに名前を追加します。たとえば、次のスニペットではライブラリの ProGuard 設定ファイルとして lib-proguard-rules.txt を設定します。
android {
defaultConfig {
consumerProguardFiles 'lib-proguard-rules.txt'
}
...
}