3
PYTHONHOME環境変数を設定する必要があるAndroidでサブプロセスを実行しようとしています(this questionを参照)。 java.lang.UnsupportedOperationExceptionを回避する方法:環境を変更できませんか?
ProcessBuilder pbuilder = new ProcessBuilder("python/bin/python", "test.py");
pbuilder.directory(getFilesDir());
Map<String, String> env = pbuilder.environment();
env.put("PYTHONHOME", "python");
Process process = pbuilder.start();
が、私はこの例外を取得:私は、次のコードでそうしようとした
E/AndroidRuntime(25857): FATAL EXCEPTION: main
E/AndroidRuntime(25857): java.lang.UnsupportedOperationException: Can't modify environment
E/AndroidRuntime(25857): at java.lang.SystemEnvironment.put(System.java:740)
E/AndroidRuntime(25857): at java.lang.SystemEnvironment.put(System.java:688)
E/AndroidRuntime(25857): at my code
E/AndroidRuntime(25857): at android.view.View.performClick(View.java:2408)
E/AndroidRuntime(25857): at android.view.View$PerformClick.run(View.java:8816)
E/AndroidRuntime(25857): at android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime(25857): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(25857): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(25857): at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(25857): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(25857): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(25857): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(25857): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(25857): at dalvik.system.NativeStart.main(Native Method)
誰もが何かアドバイスはありますか?私はPYTHONHOMEをエクスポートするシェルスクリプトでpythonへの呼び出しをラップしようとしましたが、それはトリックをしませんでした。
gabe