外部ストレージへのインストールを可能にする

コピーを禁止していなければ移動できるもんだと勝手に思っていたけど、manifestで android:installLocation を設定しないといけないらしい...。
「manifestで設定するだけなら簡単じゃん」と思ったけど、ちょっと面倒なのが android:installLocation を指定すると、コンパイル時にエラーになりビルドが失敗すること。


ビルドを成功させるためにはターゲットを level 8 (Android 2.2) にしなければならない。
manifest では minSdkVersion を 4 にして「Android 1.6 で動作します」と宣言しつつ、ビルドの設定は level 8 に設定するという気持ち悪いことに。
ビルドのターゲットが level 8 になっているから、level 8 までの API を使ってもビルド時に怒られない。けど、それを使ってしまうと Android 1.6 で動かなくなってしまう...。


最近は、ほとんどエミュレータを使わずIS01で開発しているから、うっかり使えないAPIを使ってもテストの段階で気付くだろうから問題無いけど、ちょっとどうにかならんかねぇ...。