ネイティブ コードを使用して Android アプリケーションを開発しています。また、プロジェクトに含める必要があるネイティブのビルド済みライブラリもいくつかあります。まず、ビルド済みのライブラリをプロジェクトの libs/armeabi フォルダーに配置します。しかし問題は、これらのファイルがビルド時に削除されたことです。
だから私は少しグーグルで調べたところ、これらのビルド済みライブラリを Android.mk ファイルに含めて libs/armeabi フォルダーにコピーする必要があることがわかりました。
ここに私の Android.mk の一部があります:
[...]
include $(CLEAR_VARS)
LOCAL_MODULE := libavcodec
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libavcodec.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libavdevice
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libavdevice.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libavfilter
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libavfilter.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libavformat
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libavformat.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libavutil
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libavutil.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libmetaiosdk
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libmetaiosdk.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libswscale
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libswscale.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libswresample
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libswresample.so
include $(PREBUILT_SHARED_LIBRARY)
[EOF]
問題は、これらのファイルがすべて同じディレクトリにあり、これらのファイルがすべて libs/armeabi フォルダーにコピーされることです。1つのファイルを除いて!libswscale.so はコピーされません。ここで何が問題なのかわかりません。ファイル名に間違いはありません。
私は何かが欠けていますか?おそらく、誰かが同様の問題を抱えていましたか?
前もって感謝します!