Androidプラットフォームでネイティブコードでできることの制限について質問があります。Android NDKの制限?
基本的に私は、SIP/RTP用にUDPソケットを使用し、オーディオ録音/再生用のOpenALを使用するネイティブCコードでライブラリを開発しました。基本的にアプリケーション全体です。 アイデアは、Javaコードではなく、ネイティブCコードを可能な限り持たせることです。私はこれを他のプラットフォームでも使用しようとしています。
私の質問は、単にGUI用のJavaを使用してからネイティブコードですべての処理を行うことは可能ですか? ネイティブコードがソケットの作成、バインド、オーディオの録音、再生などを行うときに発生します。ネイティブコードであるため、そのアプリケーションに対するアクセス許可(マイクロフォンやその他のものにアクセスするアプリケーションなど)を設定する必要があります。それはそのネイティブコード以来このものをバイパスしますか? ネイティブコードは、PC上のようにAndroidで必要なものは何でもできますか?
ご迷惑をおかけして申し訳ありません。ただ言うと、私はそれをあなたはまだ権限を持っているあなたのアプリケーションが必要
おかげ
あなたは「サポートされている」ということを詳しく説明できますか?たとえば、NDKライブラリリストにソケットが見つかりません。それでも使用できますか?どのヘッダファイルやものを使用しますか?sys /ソケットはありませんか? – KaiserJohaan
これは好きではありませんが、Javaを使う必要があります。つまり、 'Socket'でFindClassを使い、コンストラクタのメソッド、' read'メソッド、 'write'メソッドあなたのコードに 'jobject'としてソケットを格納し、あなたは' CallVoidEnvMethod'かそれと同様のものを使います。絶対にひどいと思うが、CとJavaの間で翻訳するよりも薄いレイヤーを書くことができ、その翻訳機能のほんの一握りで終わることができる。 – EboMike
Btwは、Kazukiが指摘したように、ソケットAPIを完全にサポートするかもしれませんが、個人的には私はいつもこの間接をJavaで使いました。 – EboMike