Ice Cream Sandwichに対応するのが出ていたので早速入れてみた。
…今まで通っていたコードが通らなくなりました…_no
- ライブラリプロジェクトにて switch-caseで R.id.XXXXが使えなくなった。
ADT 14では final宣言されないことになったので if-elseに書き直せだそうで。
フォールスルーを使っている場合は面倒なことになるな。
「As of ADT 14, resource fields cannot be used as switch cases.
Invoke this fix to get more information.」
FYI:Non-constant Fields in Case Labels - 既存のソースからプロジェクトを作るとき、デフォルトのターゲットが 4.0(API14)になるようになった。
今まではソースに指定されているターゲットが読まれていたのよね。 - プロジェクトが参照する SDKがターゲット APIではなく最小 APIになった。
AndroidManifest.xmlの記述とは関係ないのでターゲット APIと同じ値を指定しておけば OK…だと思う。
他にも依存関係にライブラリプロジェクトを含むプロジェクトでエラーが出ていたけど、プロジェクトを作り直したり Eclipseを再起動してたりしたら消えた。
なんにしろ、必要がなければ更新しないほうがよさげ。
2011/10/20追記
どうも、依存関係を無視してビルドを行っている感じだな。
結果としてライブラリの .jarファイルを作っている最中にライブラリに依存するプロジェクトがそれを読みに行ってまずいことになっていると。
R13まではちゃんと待つなりとりあえずエラーを無視して依存関係が解消された後にビルドなりしていたはずなんだけどなぁ
Properties – Project Referencesで依存関係を設定してやったら通るようになった。
「これはライブラリ」「このライブラリを使う」という指定を別途行っているのだから依存関係も機械的に調整してくれても良さそうな物だが…
別の環境では既にチェックが入っていたけど同様のエラーが出たのでライブラリの指定と依存関係の指定を再指定してやったらうまくいった。
ただ、一度うまくいってもワークスペースを閉じると結構な頻度で同じ症状が出るのでうんざりしてくる。
うまくいったときも単にタイミングの問題な気がするし。
依存関係にある複数のワークスペースを使うなって事なんだろうか?
R14、激しく使えない予感…
R14は駄目な子な予感
Android SDK Tools R15
R14つかえねーと思っていたら、あっさり R15が出た。…