keyboard samurai ZERO COOL

 

  1. ホーム
  2. IT技術及びツール紹介
  3. OS(Android)

OS(Android)

Android

2007年11月、米グーグル社(Google Inc.)が、モバイル向けプラットフォームとして発表した。

無償で誰にでも提供するオープンソースであり、Apache v2ライセンスで配布される。

2008年10月からは対応する携帯電話が多数販売されている。

また、アプリケーションマーケットであるAndroid Marketが提供され、2010年10月末時点で有料、無料含め10万を超えるアプリケーションが提供されている。

競合するモバイル向けプラットフォームとしては、米マイクロソフト社のWindows Mobileやフィンランドのノキア社(旧シンビアン社)のSymbian OS、米クアルコム社のBREWおよびBrew MPなどがある。

Androidは、カーネルからミドルウェア、ユーザーインターフェース、Webブラウザ、電話帳などの標準的なアプリケーション・ソフトウェア群までを1つのパッケージにして提供されている。

カーネルにはLinuxの関連技術が使用されているが、その他の部分は様々な技術が用いられており、例えば標準Cライブラリ「libc」はBSD UNIXのものである。

カーネルとライブラリー、ランタイムはほとんどがC言語またはC++で記述されている。

アプリケーションとアプリケーション・フレームワークは、グーグル独自に構築した仮想マシンであるDalvik仮想マシン上の「Java Platform, Standard Edition(Java SE)のサブセット+Android拡張」環境で記述することになる。

(Dalvik VM)

Android用のアプリケーションは、基本的にはDalvik仮想マシン(VM)上で動作する。

基本的にプレ・インストール・アプリと、後からインストールするアプリを、公平に扱うのが特徴である。

Apache HarmonyからSwingやAWTなどの一部のAPIを除去し、UIなどのAPIを追加したライブラリとなっている。

Java CDCのAPIは、全てではないが、概ね含まれている。

Sun Javaの互換性テストを通過していない。

Googleから提供されているSDKでは、Javaプラットフォームによるプログラム環境と、C/C++による開発がサポートされている。

Java言語以外にも、Javaプラットフォーム向けの複数の言語(Scala、Hecl)で書かれたプログラムがDalvik上で動作する。

また、.NET Framework互換環境の1つであるMonoについてもDalvikに対応する計画がある。

(開発環境)

アプリケーション・ソフトウェア開発用にはAndroid SDK(Software Development Kit)が、ランタイムとライブラリーの開発用にはAndroid NDK(Native Development Kit)が無償提供されている。

Android SDK によって、Android携帯電話機とホストPCとをUSBで接続して、アプリケーション・プログラムを携帯電話機上で実行しながらPC上でデバッグすることもできるが、グーグル社が有償で提供するSIMロックフリーの開発専用携帯電話機や他社の専用の携帯電話機エミュレータでないと、低レベルのランタイムとライブラリーを書き換えることは出来ない。

対応しているオペレーティングシステムはLinux(Ubuntu Dapper Drakeでテスト済み)、Mac OS X v10.4 Tiger(10.4.8以降のIntel Mac)、Windows XP/Vista/7である。

開発環境には、Eclipseが推奨されている。

(講評)

米グーグルのAndroidは、アプリケーションを自由に配布、販売できるなど、オープン性に特徴があるOSだ。

セキュリティ対策に関しても、グーグルが機能やサービスを一通りそろえているわけではなく、サードパーティーのセキュリティサービスや製品を選び組み合わせる”自衛策”が求められる。

今Android端末でできるセキュリティ対策を見ていこう。

まず、自衛のために必要な基本を押さえておこう。

Androidはスマートフォン用OSとしては新しい部類に入ることから、マルウエアはまだ少ない。

しかし既に、金銭狙いのものが出現している。

メディアプレーヤーとして配布されているが、裏でSMSを使った有料の情報提供サービスに勝手にメッセージを送ってしまう不正なアプリケーションが見つかっている。

ゲームを装って裏で位置情報を外部のサーバに送るスパイウエアを警告している。

また、管理者権限であるrootが危険にさらされやすいことを認識しておこう。

Androidでは、端末を使う人は簡単にroot権限をとることができます。

紛失や盗難によりAndroid端末が悪意ある人の手に渡るとrootを使われるという前提で、セキュリティを考えるべきですある。

「アプリケーションにOSと別の独自の認証機能を持たせる」「アプリケーションのデータを暗号化する」などの対策があるという。

当然、紛失・盗難対策も重要になる。

・スリープモード移行や画面暗転をしない。

・電話番号やIMSIなどの識別情報を読み取る。

・基地局や無線LAN APを使った位置情報を取得する。

・GPSを使った位置情報を取得する。

・通信関連の設定を変更する。

・電話帳やアドレス帳を読み取る。

 

・端末が再起動したことを把握する。

・SDカードへデータを書き込む。

・システム設定を変更する。

・端末の無線LANに関する情報にアクセスする。

・通話を発呼する。

・SMSメッセージを読む。

・SMSメッセージを送る。

・カメラ機能にアクセスする。

・アドレス帳に書き込む。

・SMSの着信を監視する。

・無線LANの接続状態を変更する。

・音声を録音する。

Androidは仮想マシンを実装している。

アプリケーションをサンドボックスで実行している。

 

その為、基本は安全といえるが、ユーザーがアプリケーションのパーミッションを承認することで、サンドボックスに穴を開けられる。

アプリケーションはインストール前に、端末の搭載機能でアクセスしたいものを表示して許可を求める。

ユーザーが画面を操作して許可すると、アプリケーションは表示した機能を使えるようになる。

(構成)

ハードウエア

カーネル Linux 2.6.23

(標準ライブラリ)

SGL

SSL

libc

OpenGL ES

Free Type

 

Web Kit

Surface Manager

Media Framework

SQLite

(Androidランタイム)

Dalvik仮想マシン(VM)

コア・ライブラリ

(アプリケーション・フレームワーク)

Activity Manager

Windows Manager

Concept Manager

View System

Nofification Manager

Package Manager

Telephony Manager

Resource Manager

Location Manager

XMPP Service

(アプリケーション・ソフトウエア)

ホーム(待ち受け画面)

連絡先

Webブラウザー

Google Maps

......

(開発ツール)

Android Debug Bridge(adb)

Android Development Tools Plugin

Delvik Debug Monitor Service(ddms)

Android Asset Packaging Tool

Android Interface Definition Language

mksdcard

Class file コンバータ

エミュレータ(QEMU,goldfish)

(バージョン)

Android 2.0/2.1 Eclair (エクレア)

Android 2.2 Froyo (Frozen Yogurt) フローズンヨーグルト

Android 2.3 Gingerbread (ジンジャーブレッド)

Android 2.4

Android 3.0

(Android Marketに関して)

Googleが2011年 2月2日(現地時間)、米国のGoogle本社で開催したAndroid 3.0「Honeycomb」の披露イベントで、Android Marketの改善を発表した。

タブレットデバイスをメインターゲットに開発したHoneycombの詳細を披露し、実機のデモを実施するのと同時に、Webブラウザでアクセス可能な「Android Market」を発表。

これまでAndroid搭載デバイスからしか利用できなかったAndroid Marketの使い勝手を改良し、PCからもアプリの検索や購入などが可能になった。

Webサイト版のAndroid Marketは、2月2日のイベント終了時から利用可能になっている。

細分化された新しいカテゴリーをたどっていくと、iTunesのApp Storeのように、ピックアップされたアプリ(FEATURED)、有料アプリのランキング(TOP PAID)、無料アプリのランキング(TOP FREE)が閲覧できる。

アプリの詳細やユーザーレビュー、バージョンアップが行われている場合はリリースノート、そしてアプリがアクセスする機能など、Androidデバイス上のAndroid Marketで開示されている情報がすべて確認可能だ。

大きな改善は、Webブラウザでもアプリが直接購入・ダウンロードできるようになったこと。

Googleアカウントにログインした状態でアプリを購入すれば、同期や転送などの作業を行わなくても、自動的に指定したAndroidデバイスにアプリがインストールされる。

Googleアカウントに複数のAndroidデバイスをひもづけている場合でも、ダウンロード時にインストールするデバイスが選択できる。

Android 用 flash

Android 用 java

Android 用 ポップアップ

 

    スポンサーリンク