2014年5月15日木曜日

appcompat_v7を使わない設定にする

Shunです。

ここ最近SDKをアップデートして
Eclipseにて新規androidプロジェクトを作ると
この「appcompat_v7」というライブラリを参照する形になってます。
で、appcompat_v7というプロジェクトも勝手に入ってきます。

appcompat_v7はActionBarとか使用するときに使うライブラリのようで
別にActionBar使うつもりがないならいらんはずです。

要らないからといって、appcompat_v7を削除したり
使用しているプロジェクトの[プロパティ]→[android]→[ライブラリー]で
appcompat_v7を除去するとそのプロジェクトはエラーになってしまいます。

面倒なのはこのappcompat_v7は別プロジェクトとして扱われる点。
使用プロジェクトにappcompat_v7のjarをlibsに入れて~とかできないようなんですね。
(リソースを含むライブラリなのでjarにできないとかなんとか)
これがGitで管理するときたいへん面倒だったり。
Gitで落とす度、appcompat_v7がないと毎回インポートしないとダメという。


ということで、appcompat_v7を使わない設定にする方法です。

・プロジェクトの[プロパティ]→[android]→[ライブラリー]でappcompat_v7を除去
→project.propertiesが書き換わります。
  一時的にエラーになります。

・values-xxのstyles.xmlを変更
ここでAppCompatを使うようになっているからエラーになるんですね。
これを以前のデフォ設定とか各自が使いたいスタイルになおしてあげます。

以下は以前のデフォ設定にする場合。

values/styles.xml
    <style name="AppBaseTheme" parent="Theme.AppCompat.Light">
↓変更
    <style name="AppBaseTheme" parent="android:Theme.Light">

values-v11/styles.xml
    <style name="AppBaseTheme" parent="Theme.AppCompat.Light">
↓変更
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">

values-v14/styles.xml
    <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
↓変更
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">


。。。なんか不毛な気分。
根本的にappcompat_v7が不要な人はappcompat_v7が入らないようにして
androidプロジェクトが作られるべきと思うんですが。。。
そんな設定あるのかな?

0 件のコメント:

コメントを投稿