トップ «前の日記(2011/12/04(Sun)) 最新 次の日記(2012/01/05(Thu))»
【ソース+水=麦茶色の何か】

半期 四半期 全カテゴリ

今日の一言


2011/12/25(Sun) ASUSのTF101買った。すごく便利。 [長年日記] 15:03現在 6℃

_ [Android]Androidでファイラー(エクスプローラー)を使わずにローカルにあるapkをインストールする

参考: http://code.google.com/p/android/issues/detail?id=2454

野良アプリや自作アプリ等で、自分でapkファイルをインストールしたい場合がある。

AstroやExproler等のファイルマネージャーを使えば。ファイルを開く際に「インストール」を選択できるが、ファイルマネージャーをインストールできない(したくない)場合、Androidの標準ブラウザを使うことで、ローカルにあるapkファイルをインストールできる。

具体的には、ブラウザのURIハンドラーを使って、apkファイルにアクセスする。

例えば、 「/mnt/sdcard/hogehoge.apk」 というファイルがある場合、ブラウザを開いてURLに以下を入力する。

 content://com.android.htmlfileprovider/sdcard/hogehoge.apk

もしくは、

 file:///sdcard/hogehoge.apk

これで、ブラウザを介してhogehoge.apkにアクセスでき、apkはインストール用のファイルであると登録されているため、開く方法として「インストール」が選択できる。

また、同様の方法で、ローカルにあるテキストファイルや画像ファイルを開くことも出来る。

補足情報

なお、「content://com.android.htmlfileprovider/」によるファイルアクセスには、htmlに組み込んだ悪意あるJavaScriptを介してファイルシステムを改ざんできるという脆弱性につながることが報告されている。

http://scan.netsecurity.ne.jp/article/2011/03/16/26471.html

そのためかどうかは不明だが、Android 2.3(?)からは「content://com.android.htmlfileprovider/」は使えなくなり、代わりに「file:」を使ってアクセスできるようになった模様。(詳細不明)

_ [Debian][Linux][Ubuntu]apt-getでインストールしたパッケージの保存場所(ディレクトリ)を確認する方法

以下のコマンドでインストール先のディレクトリパスが分かる。

# dpkg -L (パッケージ名)