« おー、カウントダウン! | トップページ | 水道橋 とんがらし 盛り合わせ天ぷらそば(ナスなし) »

2015年7月12日 (日)

【備忘録】 Android appcompat.v7 と proguard の設定

Android の現時点(2015/07)最新は 5.1.1(lollipop)ですが、ちょっと古い 4.xにもマテリアルなUIを構築できるのが、appcompat.v7。

toolbar を actionbarのように使えて、widgetも配置できるとなかなか素晴らしい。

さっそくアプリをビルドしてみたのだが、debug環境では動作するサーチバーが releaseビルドだと動かない。

なんだろうと悩んでみると、Android Studio に設定されていた proguardによるものだった。
proguardはapkから不要なライブラリを削除したりコードを難読化したり、リリース版をつくるときにはとても便利なのだが、こいつが必要なwidgetのライブラリ(suppor.v7)まで削除していたのだった。

build.gradleから抜粋

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

そうとわかれば proguard-rules.proに削除しないよう以下の3行を書き込んで完了

-dontwarn android.support.v7.**
-keep class android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }

|

« おー、カウントダウン! | トップページ | 水道橋 とんがらし 盛り合わせ天ぷらそば(ナスなし) »

パソコン・インターネット」カテゴリの記事