harukazepc’s blog

インターネッツとAndroidなどが大好きです。あとは日々のことなど。

a2sd - Android2.2以上での、アプリのSDカード保存対応

Androidの2.2以上では、アプリ側で対処することで、SDカード等外部記憶媒体へアプリを保存・移動することができます。

App Install Location

ただ、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

 <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が優先されるようなので。

© harukazepc️