facebook-android-sdk を JDK1.7 でもビルドしたい
(Oracle|Open) JDK1.7 を使って facebook-android-sdk を ant でビルドすると、以下のようなエラーログと共にビルドが失敗します。
-compile: [javac] Compiling 75 source files to facebook-android-sdk/facebook/bin/classes [javac] facebook-android-sdk/facebook/src/com/facebook/model/GraphObject.java:198: 警告:[rawtypes] raw型が見つかりました: Class [javac] Class<?>[] interfaces = new Class[] { graphObjectClass }; [javac] ^ [javac] 汎用クラスClass<T>の型引数がありません [javac] Tが型変数の場合: [javac] クラス Classで宣言されているT extends Object [javac] facebook-android-sdk/facebook/src/com/facebook/model/GraphObject.java:208: 警告:[rawtypes] raw型が見つかりました: Class [javac] Class<?>[] interfaces = new Class[]{Map.class}; [javac] ^ [javac] 汎用クラスClass<T>の型引数がありません [javac] Tが型変数の場合: [javac] クラス Classで宣言されているT extends Object [javac] エラー: 警告が見つかり-Werrorが指定されました [javac] エラー1個 [javac] 警告2個
良くみると、ただ警告がでているだけなので無視してビルドすればよいことが分かります。 rawtypes という警告を無視すればよいので javac に以下のようなパラメータを渡すとビルド出来るようになります。
javac ... -Xlint:-rawtypes
また、 ant を使ってビルドする場合には以下のプロパティを (project|local).properties に定義すれば同様の効果が得られます。
java.compilerargs="-Xlint:-rawtypes"