2012-02-06 12 views
5

から共有ライブラリを参照しますC/C++プロジェクトであり、Androidネイティブプロジェクトでこれらの.soファイルを使用したいと考えています。 これらのライブラリファイルをあるプロジェクトから別のプロジェクトにコピー&ペーストしたくないです。Androidのネイティブプロジェクトは、私は2つのプロジェクトを持っているC++ライブラリプロジェクト

まず、C++ライブラリプロジェクトのリファレンスなどを使用して、ネイティブAndroidプロジェクトの.soファイルを使用することは可能ですか?

.soファイルをC++ライブラリプロジェクトからAndroidネイティブプロジェクトに自動的にコピーする方法を見つける方が簡単でしょうか?

答えて

1

まず、ARMのためにあなたのライブラリを再コンパイルする必要があります。 ndkの "スタンドアロンツールチェイン"機能を使用することができます。 ndk dir(docs/STANDALONE-TOOLCHAIN.html)に詳細について説明しているドキュメントがあります。私はそうのようなスタンドアロンのツールチェーンを使用してのexpatをコンパイルするbashのファイルを手早くので、プロジェクト内のlibexpat使用するために必要な:

NDK_PATH=/android-ndk-r7 
NDK_GCC=${NDK_PATH}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc 

export CC="${NDK_GCC} --sysroot=${NDK_PATH}/platforms/android-8/arch-arm" 
export CFLAGS='-mthumb' 
export LDFLAGS='-Wl,--fix-cortex-a8' 
./configure --host=arm-eabi 
make 

次にあなたが欲しいどこので、コピーしてAndroid.mkからそれを参照することができます。

私はexpatのを構築し、私は結果の

のコピーを心配する必要はありませんでしたので、静的にリンクされ
LOCAL_LDLIBS := \ 
-Lvendor/expat/sdk/lib/android \ 
-lexpat 

注意

関連する問題