私はrildと対話するためのアプリを書こうとしています。そして、はい、私はこれが政治的に正しいわけではないことを知っていますが、それは組み込みの工業用テレメトリーアプリなので、私はユーザーの経験、移植性、Rildソケットに接続する方法
問題は、接続しようとすると、java.io「Permission denied」例外が発生することです。誰か助けてくれますか?
携帯電話(Nexus One)はCyanogenmod 7に基づいており、アプリはMarketの「SuperUser」アプリを使用してスーパーユーザーとして実行されています。
マイコード(省略):
try {
mSocket = new LocalSocket();
mSockAddr = new LocalSocketAddress("rild", LocalSocketAddress.Namespace.RESERVED);
mSocket.connect(mSockAddr);
}
catch(Exception e) {
dbg.p("connect failed: "+e);
}
私はrild(とrild-デバッグ)を参照してくださいは/ dev /ソケットのソケット。
srw-rw---- 1 root radio 0 Feb 13 19:14 rild
srw-rw---- 1 radio system 0 Feb 13 19:14 rild-debug
ダイヤラーアプリがすでに接続されていて、ソケットを突くことができますか?
私は当初、フレームワークを使用しようとしましたが、大部分はJavaおよび第三者のクラスについての幻想的なボート・ロードを取得していました。私はSTFWとこのサイトも持っています。問題についてはダンスがありますが、具体的なアドバイスはありません。
大変助かりました。 rildソケットのJavaの端部に
- ジョン
ありがとう、私はそれを試してみます。 BTW - "chmod 666/dev/socket/rild"で "permission denied"という問題が発生しました。私は接続上の例外を得ることはできませんが、私はコマンドを送信するときに応答を得ません。私は、有効なコマンド(それをリバースエンジニアリングしている)を送信しているかどうかはわかりません。私は送信しています:int DIAL(10)、int seq ++、String phonenum( "7035551234")、int clirmode(0)、int no-uus(0)、int null-uus(0)。私は進歩を報告して、他の人に助けとなるようにします。 – DontPanic
RIL.javaのソースは、Java APIからソケットを経由するメッセージへのマッピングを定義しています。 –
ええ、私はそれを試みましたが、それは非常に階層化され、抽象化されているので、あまりにも困難であることが判明しました。しかし、私は_real_解決策を見つけました。「rild-debug」ソケットに接続して、必要な処理を実行できることがわかりました。ありがとう、ジョン – DontPanic