2012-01-10 1 views
-1

アンドロイドにphp cgiをインストールしたいと思います。私はCGI PHPバイナリをデータフォルダに入れましたが、バイナリ上で755のパーミッションを設定しない限り動作しません。私は彼らも実行可能でなければならないと思う。これは、ルーティングされていないデバイスのインストールでこれを実行できる方法はありますか?アンドロイド上のphp cgiを

私はPAWサーバーで何か類似しているのを見ました。可能であればSDカードでこれが起こることをお勧めします。私は完全にこれを達成することに失われて、本当にアプリのためにこれが必要です。私はすでにアンドロイドのためのPHPを使用しており、私はこれが単なるcliのバージョンであることに気付かなかった。

+0

私はdroidphpを使用しています。 – Prakhar

答えて

0

私が知る限り、それは不可能です。ファイルの所有権が必要な場合や、chmodを実行するにはルートにする必要があります。私は、あなたがデフォルトのユーザーアプリケーションを実行していないと考えています。

1

/sdcardには、ルーティングされていないデバイスでこれを行う方法はありません。すべての場合、私はSDCARDがvfat形式であることを見てきました。つまり、vfatがユーザー権限をサポートしていないため、chmod 755は何も意味しません。これとは別に、アンドロイドは/ sdcardから実行されないようにコードされていると確信しています。

あなたの唯一のチャンスは、アプリケーションスペースで実行することです。バイナリをあなたのアンドロイドアセットフォルダにコピーし、プログラムで "chmod 755/data/data // mybinfile"を実行し、Runtime.getRuntime().exec()で実行してみてください。私はこれをシェルスクリプトでやったことがありますが、それは動作しますが、バイナリで動作するかどうかはわかりません。しかし、私は、これがあなたの唯一の選択肢であると確信しています。

+0

こんにちは。返信ありがとう。私がテストしたファイルは、755のパーミッションまでどんなディレクトリでも動作します。私はちょうどsdcardを試して、明らかにそれは私にこれらのアクセス許可を与えません。これは、ユーザーに電話をかけさせることなく、APKにコンパイルできるものですか。申し訳ありませんが、私はJavaに新しいです。 – user1074541

0

デフォルトでは、Androidはsdcardからバイナリの実行をブロックします。あなたは、Appでそれらを含めると

あなたも、アプリケーションの出力を得ることができますProcessオブジェクトを使用して、その後

ProcessBuilder pb = new ProcessBuilder(some list here with the args);

Process p = pb.start();

でそれらを実行することができます。

関連する問題