2012-01-13 5 views
0

私の現在の仕事ではperl/python/luaのアンドロイドスクリプトに本当に興味がありますが、トラフィック消費量が非常に限られているため、 Android端末をリフレッシュする。それで、インターネットに接続されていないファイル/アーカイブを使ってSL4Aにインタプリタをインストールする方法はありますか?私が見つけたSL4A用のインタープリタをオフラインでインストールするには

答えて

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 
を使用してインストール
0

Py4aをインストールするには、android/PythonForAndroid/src/com/googlecode/pythonforandroid/PythonDescriptor.javaを変更し、BASE_URLfile:///のURLに変更しました。私はその後adb pushpython_*.zipファイルをそのディレクトリに置くことができ、そこからインストールすることができました。

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

次のパッチを適用してから、Py4AのREADMEファイルの指示に従って、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を起動し、Installを突くことですが。

関連する問題