AndroidのVersion2.2からアプリをSDカードにインストール出来る様になりました。

アプリ本体またはデータが大きくなるアプリを作成する場合、SDカードにインストール出来る様にしておきたい所ですが、Ver2.1のユーザー様もいらっしゃるのでアプリを2.2以上にするのは得策ではありません。

上記のジレンマを解決するには2.1に対応したまま2.2のインストール機能だけを追加する方法になります。

AndroidManifest.xmlの先頭は

manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.exp.appname"
android:versionCode="6"
android:versionName="1.03"

通常↑の様な感じで記載します。

インストール先をSDカードでも可能にするには
android:installLocation=”auto”
が必要です。

そこでBuild targetを8(Version 2.2)に上げます。

そしてAndroidManifest.xmlを

manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.exp.appname"
android:installLocation="auto"
android:versionCode="6"
android:versionName="1.03"

に変更します。

2.2特有のSDKの記述をしない限り、これで問題なく動作します。

上記の様にSDKVersionを7にしておけば明示的に2.1以上に制限出来ます。
Attribute minSdkVersion (7) is lower than the project target API level (8)
という警告メッセージが1行目に表示されますが、これは無視して問題ありません。