技術めいた何か

1人の大学生によるIT系の記事群

b2gdroidを使ってAndroidでFirefoxOSアプリ動かしてみた

記事の通り、b2gdroidを用いてWebIDEから転送したFirefoxOS(以下fxos)アプリをAndroid上で動かしてみました。

 

以下手順 (自己責任でお願いします)

1.設定->開発者オプション->USBデバッグをオンにします。
また、設定->セキュリティ->提供元不明のアプリをオンにし提供元不明のアプリのインストールを許可します。

 

2.Android端末でhttps://people.mozilla.org/~fdesre/b2gdroid/へアクセスし"Install b2gdroid."からb2gdroidを端末にダウンロードしインストールします。
インストールすると、Androidのホームアプリとしてインストールされるようです。

 

3.その後ホームボタンをタップすると既存のホームアプリと"Firefox OS"の選択しが現れるので"Firefox OS"をタップ

f:id:atofaer:20150825133111j:plain

 

b2gdroidが起動して ロック画面が現れました。
ロックを解除するとホーム画面が現れます。

f:id:atofaer:20150825133227j:plain f:id:atofaer:20150825133420j:plain

 

4.b2gdroidで再現されたfxosのホームはAndroidアプリとfxosアプリが混在した状態になっています。
Settingアプリをタップします。(白背景の歯車アイコン)
これはb2gdroid上のfxosの設定アプリのようです。

アプリのドロワーではfxosの設定とAndroidの設定が同居した状態となる模様
(上fxosアプリ設定/下Androidの設定)

 

f:id:atofaer:20150825134040j:plain

 

5.Setting->Developer->Debugging via USB でADB and DevToolsに設定します。

f:id:atofaer:20150825134316j:plain

 

以上で、fxos搭載端末と同様にpcにつないでWebIDEを用いた開発ができるはずです。この状態で接続するとWebIDEに"Firefox Custom on Android(DeviceName)"といったように表示されます。
Macの場合は特にMac側の設定は必要ありませんでした。Windows/Linuxの場合はPC側の設定が必要な場合があるようです。
詳しくはWebIDE のトラブルシューティング - 開発ツール | MDNを参照してください。

 

6.HelloWorld起動してみた。

f:id:atofaer:20150825142619j:plain



導入は以上で以下感想

試した端末はZenfone5(AK500KL)とNexus9です。
Zenfone5上では全体的にもっさりした動作。
Nexus9上ではきびきび動作しました。


以下問題点

共通の問題点(※試した端末数が少ないのでどれも要検証)
・加速度センサーが反応しない
・アプリに設置したボタンが反応しない時がある
・標準ブラウザからtwitterにアクセスできない(よって標準ブラウザからtwitteroauth認証が行えない)

追記:ShirotakaTwitのWhiteHawk氏(@hikaru__m)から指摘があったので追記

確かに2.0のシュミュレーターで試すと同じ不具合の確認ができました。
twitteroauth認証バグに関してはb2gdroidの修正待ちか個別対応ですね・・・


Zenfone5
・Zenfone5標準のホーム(ASUS Launcher)の画面ロックが無効になる

Nexus9
・Zenfone5では出現したfxos専用のスクリーン上のホームボタンが出現しない
Android側のスクリーン上のホームボタンで操作を試みるがシングルタップではホームに戻れずロングタップで戻れた。しかし、これではfxosアプリの終了が困難
タブレット用に調整されていないためかアイコンが大きく表示される。

 

Zenfone5で表示されたfxosのホームボタンがNexus9では表示されなかった

(左Nexus9/右Zenfone5)

f:id:atofaer:20150825135435p:plain

 

以上より制限が大きいですが開発入門機としてなら使えそうです。
以前ハッカソンで作ったアプリは加速度計を利用していたためうまく動作せず。残念。
マーケットをみたら画像編集アプリが少なそうだったので作ってみようかなと思ったり。

 

おまけ
b2gdroidとAndroidFirefoxでWebIDE接続の比較

(上b2gdroid/下AndroidFirefox)をそれぞれ起動した状態で接続したときの表示

f:id:atofaer:20150825141036p:plain

f:id:atofaer:20150825141033p:plain

どちらも同様に"installing and running app(notSupported):Not B2G.Can't launch app."というエラーが出ていますが、b2gdroidの場合は手動で起動し、デバッグすることが可能でした。
AndroidFirefoxの場合はAndroidFirefoxツール->アプリ からアプリの存在を確認することは可能ですが起動ができませんでした。

f:id:atofaer:20150825141821p:plain