[Android端末使用レポート5]アプリ関連設定を変更し,勝手アプリのインストールに成功
ダウンロードしたファイルをタップすると,「インストールをブロックした」というメッセージが現れた(写真2)。設定変更(Settings)か,キャンセル(Cancel)かと聞いてくるので,設定変更を選ぶとアプリケーション関連設定の画面が出てきた(写真3)。
ここで,「Unknown sources」にチェックを入れ,戻るボタンを押し,インストールを再開すると,このアプリケーションが利用する機能の一覧が表示される(写真4)。「これだけの機能を使いますが,それでも大丈夫ですか」と聞いているわけだ。このまま進めると,インストールが完了した。
上記の記事によるとT-Mobile G1では、Android Market以外からのAndroidアプリケーションのインストールが出来ることが確認されています。
デフォルトでは、Android Market以外からAndroidアプリケーションをインストールできない設定になっていますが、ユーザが設定を変更して、Unknown sourcesに変更すれば良いというわけです。
以前、Android Market以外のアプリがインストールできるかどうかの可能性について、で書きましたが、Android SDK 1.0 R1でも、T-Mobile G1と同様のことができることを実際に確認することが出来たのでレポートします。
①勝手Webサーバを立てる。
まず、玄箱ProにlighttpdでWebサーバを立てます。IPアドレスを見るとわかりますが、Webサーバは192.168.0.0/16の完全にローカルなプライベートアドレス空間です。
Eclipse + ADT(Android Development Tools)で、ウィザードに従ってHello Worldサンプルアプリを作成します。workspace内に、.apkが作成されているので、Webサーバに.apkファイルをコピーします。ここでは、SampleApp02.apkというファイルです。
②仮想SDカードイメージを作成してemulatorを起動する。
後でわかりますが、Webbrowserで、何かのファイルをダウンロードしようとするとSDカード上に保存しようとします。それ以外の場所には保存できないようです。
③Webbrowserで勝手サイトをアクセスする。
Android SDKのemulatorのWebbrowserから、上記で立てた勝手Webサーバにアクセスします。
上記のように表示されたら、SampleApp02.apkのリンクをクリックします。
SampleApp02.apkがダウンロードされます。この時、仮想SDカードイメージをemulatorがマウントしていないとダウンロードに失敗しますので注意が必要です。
そして、上記のリストから、SampleApp02.apkをクリックします。
上記のように、勝手サイトからAndroidアプリをインストールしようとするとブロックされます。
そこで、Settingsのボタンをクリックします。
Android SDK 1.0 R1では、勝手サイトからAndroidアプリをインストールすることができないようですね。Force doneのボタンをクリックしても、インストールできません。
④Androidの設定を無理矢理、変更する。
以下のDBファイルをemulatorから抜き出してきて、”install_non_market_apps”という設定項目の値を0から1に変更し、emulatorに戻します。
/data/data/com.android.providers.settings/databases/settings.db
⑤上記設定を変更したら、emulatorを再起動します。
完全にemulatorを落としてから、再度、emulatorを起動します。(設定変更を反映させるためです)
③以降の作業を同様に繰り返します。すると表示される画面が変わりました。
SampleApp02.apkには余計なPermissionを指定していないので、「No permission required」だけど、インストールする?と聞いてきます。
ここで、Installボタンをクリックします。
インストール作業が始まります。
見事、勝手サイトからAndroidアプリのインストールが成功!
Launchボタンをクリックします。
見事、勝手サイトからダウンロードしてインストールしたAndroidアプリを実行することができるようになりました!