*環境と基本的な知識 [#q66d401f]
-NEXUS7(Android 4.2.1) ''ルート化済み''
-Android SDKがインストール済み
-Andorid端末に接続したりファイルを送り込む、adbの使い方を知っている
-tclについて知っている
-shellを使える

*SL4Aをインストールする [#zab4b0e1]
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のインストール [#aa1c8a7f]
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 Android''と''September 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
-tclsh_r1.zip
-tclsh_extras_r1.zip
-tclsh_scripts_r1.zip
~

そして、''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ボタンを押してさらに実行環境インストールします。なにやらダウンロードして展開します。


*実行環境の置き換え [#a52a4681]
-tclsh_r1.zip
-tclsh_extras_r1.zip
-tclsh_scripts_r1.zip

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

 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

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

*テスト [#v110b118]
#ref(Screenshot1.png,,50%,Tcl for Android on SL4A)
文字ちっさw

*コメントをどーぞ [#o83ffe4e]
#comment
----
[[CategoryTclTk]] [[CategoryAndroid]]

|New|Edit|Diff|History|Attach|Copy|Rename|
HTML convert time: 0.005 sec.