朝起きたらIntel XDKが話題になっていて、なんかカッコ良さそうでした。
ところが、ぼくのUbuntuではまず起動から難儀だったので、是非、共有しておきたくメモします。
Javaのセキュリティポリシ
まず一発、このChrome ExtensionをインストールしてJavaアプレットの起動を待ったら、当然の如く起動ができませんでした。
表示されたのはこんな感じのエラー。
パッと見でOpenJDKの問題を疑ったんですが、冷静に見ると根っこはAccessControlExceptionだったので権限周りの問題だという事は理解できました。
さらっと調べてみるとOpen JDK(Iced Tea)は、OracleのJavaに比べてデフォルトの権限が厳しいらしいですね。
そういうわけで、ココらへんを治す方向性で進めていきます。
# vim /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/security/java.policy
IcedTeaのjavawsはJDK7ではなくJDK6で動くようだった(これは手元のビヘイビアがそうだったというだけで、根拠は持っていない)、このポリシを編集します。以下の行を足します。
grant codeBase "http://xdk-software.intel.com/distribution/*" {
permission java.security.AllPermission;
};
僕はJavaに明るくないんですが、jnlpをエディタで割ったらcodeBaseというattrでこのURLが指定されてるので、とりあえずこれを指定したら上手く行きました。
本当はパーミッションをもっと細かく設定するべきなんだと思いますが、とりあえずこれでいい。
ChromeのPath
ここまでで上手く言ったと思ったら今度はchromeのpathがわからないと怒られました。
これも、メッセージのシンプルさから想像できる以上にハマった。
google-chromeをwhereisして、ソレを指定してやるだけで良いというのが最初の考え。僕の環境では"/usr/bin/google-chrome"というシンプルな場所に居るようだったので、これを"SetChromeLocation"で指定してやった。
ら、動かなかった。OSXとはコマンドの呼び出しの勝手が違うらしい。(?)
これは解決できないかなと諦めかけていたんですが、よく考えたらIntel XDKの前身はAppMobiであって、このノーハウで検索すると良いのではないか・・・と思ったらビンゴでした。
先のリンクを参考に、chromeから下記localhostにアクセスするとXDKを使用することが出来るようになりました。
http://localhost:58888/_emulator/_ide/index.html
これで僕のUbuntuでもIntel XDKで遊ぶことが出来ます。
感想
本題に移るまでが大変だった。
楽しみます。