Androidの2.2以上では、アプリ側で対処することで、SDカード等外部記憶媒体へアプリを保存・移動することができます。
ただ、2.1以下でも動くアプリで、2.2以上ならSD移動可とする、というのは若干テクニックが必要。
この対応は、 AndroidManifest.xml 上で
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" ... >
を指定するのだけど、さらに、
- android:minSdkVersion で、実行可能なOSを指定
- ビルド時のターゲットを「API Level 8」とする
- なぜなら、構文上 installLocation が導入されたのは、2.2(API Level 8)からなので。
という対応になります。
で、Titaniumでの開発時にも対応したい、と。
うーん、、、ビルド時のターゲット指定の方法がわからん・・・
と思ってたら、本家Appcelerator Developer Blog内で紹介されていました。。。wikiに反映していただけないだろうかw
Installing Android apps to the SD card
- tiapp.xml
<android ...> <tool-api-level>8</tool-api-level> <manifest android:installLocation="auto" ...> <uses-sdk android:minSdkVersion="4" /> </manifest> </android>
こんな感じ。
もし、AndroidManifest.xml をカスタマイズしている(platform/android/AndroidManifest.xml)場合は、そちらで android:installLocation や android:minSdkVersion を指定ですかね。AndroidManifest.xmlが優先されるようなので。