crosswalk on Tizen IVI 3.0 を動かす


先週投稿の Tizen IVI 3.0 on VMware を動かす の続きです。

アプリ何も無いじゃんありえん、と思ったので動かしてみた話。

Tizen IVI 3.0 からアプリ実行環境が crosswalk になったのを思い出し、
ガツガツやったらいつものオレンジ立方体の WebGL サンプルアプリがぐるぐるまわるやつ動いた。

使用機材

使用機材
Windows 7 64bit Tizen IVI on VMware Player 環境が動く前提
Ubuntu12.04 vmdk イメージ作成用
Tizen IVI 3.0 image Oct 28, 2014 3.0-M3-Oct2014 milestone

手順

Tizen アプリパッケージ作成(xpk)

Ubuntu にて。
基本的には、
https://crosswalk-project.org/documentation/getting_started/run_on_tizen.html
を参考にする。

サンプルコンテンツをダウンロードする。
https://crosswalk-project.org/documentation/samples.html
crosswalk-samples-0.8.tar.gz
解凍後の webgl/ ディレクトリのコンテンツを動かすことにする。

make_xpk.sh を作成。

make_xpk.sh
#!/bin/bash -e
#
# Purpose: Pack a CrossWalk directory into xpk format
# Modified from http://developer.chrome.com/extensions/crx.html
if test $# -ne 2; then
  echo "Usage: `basename $0` <unpacked dir> <pem file path>"
  exit 1
fi

dir=$1
key=$2
name=$(basename "$dir")
xpk="$name.xpk"
pub="$name.pub"
sig="$name.sig"
zip="$name.zip"
trap 'rm -f "$pub" "$sig" "$zip"' EXIT

[ ! -f $key ] && openssl genrsa -out $key 1024

# zip up the xpk dir
cwd=$(pwd -P)
(cd "$dir" && zip -qr -9 -X "$cwd/$zip" .)

# signature
openssl sha1 -sha1 -binary -sign "$key" < "$zip" > "$sig"

# public key
openssl rsa -pubout -outform DER < "$key" > "$pub" 2>/dev/null

byte_swap () {
  # Take "abcdefgh" and return it as "ghefcdab"
  echo "${1:6:2}${1:4:2}${1:2:2}${1:0:2}"
}

crmagic_hex="4372 576B" # CrWk
pub_len_hex=$(byte_swap $(printf '%08x\n' $(ls -l "$pub" | awk '{print $5}')))
sig_len_hex=$(byte_swap $(printf '%08x\n' $(ls -l "$sig" | awk '{print $5}')))
(
  echo "$crmagic_hex $pub_len_hex $sig_len_hex" | xxd -r -p
  cat "$pub" "$sig" "$zip"
) > "$xpk"
echo "Wrote $xpk"

make_xpk.sh に実行権限つけて、
キー作って、
xpk ファイル作って、
Tizen IVI 3.0 on VMware 環境へ送る。

$ chmod +x make_xpk.sh
$ openssl genrsa -out ~/mykey.pem 1024
$ ./make_xpk.sh webgl/ mykey.pem
$ scp webgl.xpk [email protected]:/home/app

実行

Tizen IVI 3.0 on VMware にて。

インストールして、実行。

xwalkctl --install 時に、 xwalk.********
という文字列(アプリ ID)が表示されるのでメモる。

$ xwalkctl --install .webgl.xpk
$ xwalk-launcher xwalk.******

立方体がクルクル回る。
ドラッグで更に回る。

スクリーンショット

参考