0

私は現在の仕事で perl/python/lua での Android スクリプト作成に非常に興味がありますが、トラフィックの消費も非常に限られているため、Android デバイスを再フラッシュした後、インタープリターのインストール手順を頻繁に繰り返す必要がある場合があります。インターネットに接続せずに、準備されたファイル/アーカイブを使用して SL4A にインタープリターをインストールする方法はありますか?

4

2 に答える 2

1

Py4a をインストールするために、最終的に を変更して、そこをURLandroid/PythonForAndroid/src/com/googlecode/pythonforandroid/PythonDescriptor.javaに変更しました。その後、ファイルをそのディレクトリに移動し、そこからインストールできました。BASE_URLfile:///adb pushpython_*.zip

logcatキーはエラーメッセージに注意を払っていました。バージョン ファイルがなかったので、コードは_r1.zip常に要求しました。

次のパッチを適用し、READMEPy4A のファイルの指示に従って APK をビルドします。

diff --git a/android/PythonForAndroid/src/com/googlecode/pythonforandroid/PythonDescriptor.java b/android/PythonForAndroid/src/com/googlecode/pythonforandroid/PythonDescriptor.java
index a891e98..89bb4f7 100644
--- a/android/PythonForAndroid/src/com/googlecode/pythonforandroid/PythonDescriptor.java
+++ b/android/PythonForAndroid/src/com/googlecode/pythonforandroid/PythonDescriptor.java
@@ -39,7 +39,7 @@ public class PythonDescriptor extends Sl4aHostedInterpreter {
   public static final String ENV_EXTRAS = "PY4A_EXTRAS";
   public static final String ENV_EGGS = "PYTHON_EGG_CACHE";
   public static final String ENV_USERBASE = "PYTHONUSERBASE";
-  public static final String BASE_URL = "http://python-for-android.googlecode.com/";
+  public static final String BASE_URL = "file:///data/data/tmp/";
   private static final int LATEST_VERSION = -1;
   private int cache_version = -1;
   private int cache_extras_version = -1;

を入手したら.apk、先に進んですべてをインストールします。

pushd android/PythonForAndroid
adb install -r bin/PythonForAndroid-debug.apk
popd

pushd python-build
adb shell mkdir -p /data/data/tmp/files
adb push python_r16.zip /data/data/tmp/files/python_r-1.zip
adb push python_extras_r14.zip /data/data/tmp/files/python_extras_r-1.zip
adb push python_scripts_r13.zip /data/data/tmp/files/python_scripts_r-1.zip
popd

最後のステップは、Py4A を起動して poke することInstallです。

于 2012-05-22T05:56:45.293 に答える
0

私が見つけた簡単な方法は、すべてをオンライン モードで一度インストールしてから、ディレクトリの内容を圧縮することです。

/data/data/com.googlecode.{language}forandroid,
/sdcard/com.googlecode.{language}forandroid,
/sdcard/sl4a

その後、次のバッチ スクリプトを使用してインストールを行います (Windows)。

set ADB_BIN="C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe"
%ADB_BIN% install -r sl4a_r4.apk
%ADB_BIN% install -r PythonForAndroid_r4.apk
%ADB_BIN% install -r perl_for_android_r1.apk
%ADB_BIN% install -r lua_for_android_r1.apk

%ADB_BIN% push sd.tgz /sdcard/
%ADB_BIN% shell busybox tar -xzf /sdcard/sd.tgz -C /sdcard
%ADB_BIN% push data.tgz /sdcard/
%ADB_BIN% root
%ADB_BIN% remount
%ADB_BIN% shell busybox tar -xzf /sdcard/data.tgz -C /data/data

%ADB_BIN% shell rm /sdcard/sd.tgz
%ADB_BIN% shell rm /sdcard/data.tgz
于 2012-01-14T09:20:02.277 に答える