環境と基本的な知識

SL4Aをインストールする

http://code.google.com/p/android-scripting/downloads/list ここからsl4a_r6.apkをダウンロードしてインストールします。

adb install D:\temp\sl4a_r6.apk
1240 KB/s (887749 bytes in 0.699s)
        pkg: /data/local/tmp/sl4a_r6.apk
Success

TclForAndroid.apkのインストール

SL4AがASEという名前だった頃はTclもSL4A(ASE)の公式サイトで配布されていたようですが、 現在メンテナが更新しないとかいう理由で、公式サイト (http://code.google.com/p/android-scripting/)から配布されなくなってしまいました。 この古いやつはTcl8.6b1でビルドされているtclkitshで、http://www.patthoyts.tk/tclkit/android-arm/から ソースコードと共にゲットすることができます。sl4a環境でのAndroid APIの呼び出しに使うパッケージのandroid, jsonは Tcl Moduleでooで書かれています。しかし、詳しくは調べてないのですが、これが新しい環境で動かないようです。 androidのAPIを使わないのなら、これでもOKかも。また、auto_pathはkit内に設定されているので、自分で書いたパッケージ やtcllibを入れたりするには、auto_pathに自分でパスを追加したり、直接コードをsourceするしかないようです。

また、サポート落ちに(絶望して?)、SL4Aに対応して欲しくて頑張って作ってくれた(のに放置ぎみに見える)ものもあります。
http://ww1.pragana.net/October 2, 2010 -- Tcl for AndroidSeptember 27, 2010 -- Tcl 8.5.9 for Android の記事にその経緯やコンパイル方法、ブツのダウンロード先などが書かれています。ここでダウンロードできるのは、インストール用の TclForAndroid.apkと、tclsh、ライブラリ、サンプルスクリプトです。ここのtclは8.5.9で、android、jsonパッケージはちゃんと 動きます。また、tclshはkit化されておらず、ライブラリは/sdcard/com.googlecode.tclforandroid/extrasに配置されます。 さらにauto_pathもここへパスが通っており、package require android が通ります。
色々調べている中で見つけたhttp://www.geocities.jp/tomcatalbino/how2tcl.html で、Tclのインストール方法が書かれています。 この方法は先のtclkitsh8.6b1をインストールし、ライブラリは後者の8.5.9のを展開し、しかしauto_pathが通っていないため、 androidパッケージを直接sourceすることで動かしているようです。この方法ではsl4aの画面上Tcl8.5.9と表示されますが、実際に 動いてるのは8.6b1です。
sl4aでは各言語の実行環境をcode.google.com/p/android-scripting/からダウンロードさせる仕様になっているため、 http://ww1.pragana.net/からダウンロードしたTclForAndroid.apkを実行したとしても、上記から古い8.6b1のものがダウンロード されるようです。最初期のベータを使うのはなんか嫌だし、package require androidが通らないと気持ち悪いので、8.6b1の環境を インストールした後、http://ww1.pragana.net/のブツで置き換えようと思います。 バイナリが配置される/data以下はルート化していないと触ることができませんので、この方法ではルート化必須です。

とりあえず必要なものを先に揃えておきます。
http://ww1.pragana.net/Android/から次のブツをダウンロードしておきます。

そして、TclForAndroid.apkをインストールします。

adb install D:\temp\TclForAndroid.apk
1138 KB/s (32631 bytes in 0.028s)
        pkg: /data/local/tmp/TclForAndroid.apk
Success

これでインストールされたTcl for Androidはインストーラなので、これを実行しinstallボタンを押してさらに実行環境インストールします。なにやらダウンロードして展開します。

実行環境の置き換え

先にダウンロードしておいたこの三つを置き換えます。

adb push D:\temp\tclsh_r1.zip /sdcard/
1284 KB/s (555206 bytes in 0.422s)
adb push D:\temp\tclsh_extras_r1.zip /sdcard/
1204 KB/s (1070980 bytes in 0.868s)
adb push D:\temp\tclsh_scripts_r1.zip /sdcard/
122 KB/s (2514 bytes in 0.020s)
adb shell

で、ここからはadb shellで接続して作業します。

shell@android:/ $ cd /sdcard
shell@android:/ $ su
shell@android:/mnt/shell/emulated/0 # unzip tclsh_r1.zip -d /data/data/com.googlecode.tclforandroid/files/
shell@android:/mnt/shell/emulated/0 # unzip tclsh_scripts_r1.zip -d /sdcard/sl4a/scripts/
shell@android:/mnt/shell/emulated/0 # unzip tclsh_extras_r1.zip -d /sdcard/com.googlecode.tclforandroid/extras

以上でインストール完了です。

テスト

Tcl for Android on SL4A

文字ちっさw

コメントをどーぞ



CategoryTclTk CategoryAndroid


Attach file: fileScreenshot1.png 523 download [Information]

|New|Edit|Freeze|Diff|Backup|Attach|Copy|Rename|
Last-modified: 2012-12-29 (Sat) 00:44:56 (2151d)
HTML convert time: 0.026 sec.