2

こんにちは、共有オブジェクトファイルをNDKプロジェクトを通じてアンドロイドOSイメージに組み込む作業を進めています。NDKプロジェクトに事前構築された共有オブジェクトファイルを含む

android.mkファイルには、この

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 

LOCAL_MODULE := Myaccessories 
LOCAL_SRC_FILES := libMyaccessories.so 

include $(PREBUILT_SHARED_LIBRARY) 

のように見えると私はandroid.mkが配置されているJNIフォルダに「libMyaccessories.so」を追加しました。 NDK-建てで は、それは誰もがこの問題に遭遇したり、いくつかの他の方法で私を示唆している場合

Prebuilt  : libMyaccessories.so <= jni/ 
Install  : libMyaccessories.so => libs/armeabi/libMyaccessories.so 
/home/Identive/Desktop/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-strip: Unable to recognise the format of the input file `./libs/armeabi/libMyaccessories.so' 
make: *** [libs/armeabi/libMyaccessories.so] Error 1 
親切

私を助けて、以下の通りですエラーが発生します。

+0

FYI xyz.soは共有オブジェクトファイルではありません。 xyz.so ir共有ライブラリ。オブジェクトファイルはxyz.oファイルです。 –

+0

共有ライブラリファイルの追加についてはどうですか? – Britto

+0

下のローレンスは何をすべきかを書いています。 –

答えて

0

libs/armeabi /サブディレクトリに.soファイルを置くだけで、ビルドの一部として自動的にインクルードされるはずです。ソースファイルではないので、LOCAL_SRC_FILESで言及しないでください。

もしそのライブラリがJavaコードだけでなくネイティブコードから参照されているのであれば、LOCAL_LDLIBSにそれをリストアップする必要があるかもしれませんが、これがデフォルトでない場合は非常に驚きます。

+0

まだandroid.mkファイルを変更すると、ndk-build throws "入力フォーマットを認識できません"というメッセージが表示されます。android.mkファイル – Britto

+0

あなたのファイルは本当にARMの共有ライブラリではありません。共有ライブラリはどこから手に入れましたか? –

関連する問題