PhoneGapでAndroidアプリを作る

前提

  • Eclipseがインストールされている
  • Android sdkがインストールされている

PhoneGap(cordova)のダウンロード

  1. Apache Cordovaからダウンロードする。

今回ダウンロードしたバージョンは2.9.0。

Eclipseでプロジェクトを作成・設定

  1. ファイル > 新規 > プロジェクト > Andoroidアプリケーション・プロジェクトを

選択する
(以下、適当にウィザードを進めてプロジェクトを作る)
f:id:hryord:20131017162103j:plain

  1. 作成したプロジェクトで、以下のディレクトリを作成する
[project root]/assets/www
  1. cordovaのファイルをプロジェクトにコピー

ダウンロードしたcordovaに入っている以下のファイルをコピー
cordova.js => assets/www
cordova.jar => lib
xml/config.xml => res(フォルダごとコピー)

cordova.jarはlibフォルダを右クリック→ライブラリ構成でライブラリに含まれているか確認しておく

  1. 作成したプロジェクトの src フォルダーにあるメインの Java ファイルを編集

import org.apache.cordova.DroidGap; を追加
クラスの継承元を Activity から DroidGap に変更
  protected→publicに変更
setContentView() の行を super.loadUrl("file:///android_asset/www/index.html"); に置き換え

f:id:hryord:20131017175228j:plain

  1. AndroidManifest.xmlの編集

タグの間に以下のコードをコピー

<supports-screens 
android:largeScreens="true" 
android:normalScreens ="true" 
android:smallScreens="true" 
android:resizeable="true"
android:anyDensity="true" /> 
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
  1. コンテンツのコピーと実行

Androidアプリ化したいコンテンツを[project root]/assets/wwwに入れて実行すれば完成!

HTML5/JavaScriptとPhoneGapで作るiPhoneアプリ開発入門

HTML5/JavaScriptとPhoneGapで作るiPhoneアプリ開発入門