1

SDK、NDK、JDK、Cygwin をインストールしました。ライブラリのコードを編集して Android (armv7) 用にコンパイルする必要があるかどうかを知りたいです。

基本的に、さまざまな C アプリケーションを Android 用に移植する必要がありますが、それらはすべて、PCRE、OpenSSL などのサードパーティ ライブラリに依存しています。私の経験では、Windows では PCRE がエラーなしでコンパイルされることがわかりましたが、ここでは Android (Linux カーネルを実行) について話しています。

また、JNI 呼び出し規則を満たすために、ライブラリ内のすべての関数に対して C ラッパーを作成する必要がありますか?

4

1 に答える 1

1

Android NDK は標準の C 構文をコンパイルしますが、Android にはデスクトップと同じ C stdlib ライブラリがありません。代わりに、Bionic と呼ばれる独自の代替手段があります。大規模なプロジェクトをコンパイルするときに、bionic がサポートしていない stdlib 関数呼び出しに遭遇し、小さな回避策を講じる必要がある場合があります。

一般的なライブラリには既存の JNI ラッパーが含まれている場合があります。それ以外の場合は、アプリケーションが呼び出す関数に対して JNI 呼び出しを行う必要があります。

于 2012-07-22T17:55:37.427 に答える