AndroidでPythonを書く (1)

Python mini Hack-a-thon 雪山合宿 (http://kokucheese.com/event/index/6029/) でAndroid端末上のPythonをいじったときのメモです。結局アプリ作成は達成できませんでしたが、合宿後も調べたりやったりしたことを追加していくつもり。

SL4A + Py4Aのインストール

1. android-scriptingプロジェクト (http://code.google.com/p/android-scripting/) および python-for-androidプロジェクト (http://code.google.com/p/python-for-android/) から次のファイルをダウンロード

  • sl4a_r3.apk (2010-10-12, 821KB)
  • sl4a_r4.apk (2011-03-27, 838KB)
  • textedit-sl4a.apk (2011-02-20, 127KB)
  • PythonForAndroid_r5.apk (2011-02-22, 124KB)
  • PythonForAndroid_r6.apk (2011-03-06, 145KB)

※以下は圧縮ファイル版なので取得・展開は必要ない。でもPC側に置いておけばライブラリが確認できて便利かもしれない。

2. SDカードの、またはUSB接続でPCにマウントしたSDカードの、適当なパスにファイルをコピー

  • PCにUSBで接続すると、追加のSDカードが「リムーバブルディスク」として、内蔵フラッシュがデバイス名として、2つのフォルダが開かれることがある。システム初期化を考慮してSDカード側に保存しておく。

3. 設定を変更

  • [設定]-[アプリケーション]-[提供元不明のアプリ] をオン

4. 適当なファイラを開き、2.で送ったファイルをクリックしてインストール

5. Python for Androidを開き、Installボタンをクリック

  • これを忘れるとSL4AからPythonが認識されない ([メニュー]-[View]でShellしか見えない状態)

プログラミング (端末上で)

  • (1)SL4Aを開く (2)[メニュー]-[Add]-[Python 2.6.2]を選択してスクリプト入力 (3)終わったら[メニュー]-[Save & Run]で実行
  • または (1)TextEditを開く (2)[メニュー]-[New File]を選択してスクリプト入力 (3)終わったら[メニュー]-[Save As]-[Browser]で/sdcard/sl4a/scripts/を開いて[Use this]をクリック、ファイル名を入力して[Save]をクリックして保存 (4)[メニュー]-[その他]-[Foreground SL4A]で実行

補足

  • SL4Aのインストールや実行のためにrootを取る必要はありません。
  • 追加でeggモジュールをインストールしたい場合、(1)/mnt/storage/Downloads以下にファイルを置く (2)Python for Androidを起動して[Import Modules]をクリック (3)必要なモジュールを選択してインストール
  • Android上にサーバを作ってPCのブラウザからテストしたい場合は、ネットワーク設定も確認しておくこと。ルータがローカル非透過になっていると確認できない。

参考