Androidのプロジェクトを移行したら、SDK r23でエラーが出た場合の解決法

More than 1 year has passed since last update.

概要

あるAndroidプロジェクトをEclipseからAndroidStudioに移行することになりました。フォルダ構成などはうまく移行できましたが、gradleによるビルド時、以下のエラーが出ました

C:\(略)\appcompat-v7\23.0.0\res\values-v23\values-v23.xml
Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.

うーむ、そのプロジェクトはcompileSdkVersionが21なので、どうしてr23のエラーが出るのが不明でした。

解決

https://code.google.com/p/android/issues/detail?id=183122

ですでに話題にはなっていたようで、主な解決方法は、

  • 前のバージョンに戻す

ことが提示されてましたが、このAndroidプロジェクトをAndroidStudioでビルドするのは初めてだし、他のプロジェクトもあるのであまりSDKマネージャとかは触りたくありませんでした。

http://terahit.com/2015/08/20/android-studio-emu-error/

の情報を参考に以下を試して、どうにかビルドできるようになりました。

  • compileSdkVersionを、23にする
  • buildToolVersionを、22.0.1にする
  • appcompatのバージョンを、22.2.1にする

これでビルドするとエラーが消えました。

SDKのバージョンは別に上げてもよかったですが、r23だと都合が悪い箇所があったので、compileSdkVersionを、22にしましたが、ビルドはできました。

まとめ

ビルド関係でハマるとどうしてもGoogle頼りになってしまいますね…