問題タブ [android-vpn-service]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
43 参照

android - ネイティブ コードで Android VpnService.Builder のファイル記述子を使用する

私は Android で VPN アプリケーションを作成していますが、次のようにうまく動作しているようです。

ここで、代わりにネイティブ コードで VPN 処理を行いたいと考えています。そこで、スレッドを次のようなものに置き換えようとしました。

JNI コードは次のようになります。

これも機能するようです。

ただし、次のような方法でJavaからファイル記述子を閉じると:

次に、純粋な Java コードでは、read 呼び出しがすぐに InterruptedIOException をスローしますが、これは妥当と思われます。

しかし、ネイティブ コードでは、読み取り呼び出しがエラーを報告するまでに長い時間がかかるように見えることがよくあります。ブロックし続けるだけです。さらに、Android UI をクリックして VPN を閉じ、VPN を忘れるように Android に依頼すると (VpnService.OnRevoke の呼び出しがトリガーされます)、ネイティブの読み取り呼び出しが永久にブロックされているように見えます。エラーとは異なるものが返されるまで読み取り呼び出しがブロックされ、その後エラーが返されるのではないかと思います。これにより、両方の観察結果が説明されます。

これを修正する方法や何が起こっているのかについてのアイデアはありますか? Javaコードからファイル記述子を読み取らないことを本当に望んでいます。

0 投票する
0 に答える
15 参照

android - Androidアプリケーションで変更IPを使用するには?

アプリで使用Firebase Crashlyticsしたいのですが、Firebase が私の国でこのサービスの使用を禁止しています。

IP を変更するか、プロキシ アプリを使用する場合にのみ機能します。

アプリで IP を変更したい。

次のコードを使用しましたが、機能しませんでした:

アプリで IP を変更したり、問題を解決したりする方法はありますか?