いくつかのネイティブライブラリを使用してAndroidアプリケーションを開発しようとしていますが、システムはライブラリを共有しandroid 4.0
、android 4.1.2
は異なります。互換性を確保するために、プラットフォーム4.0からlibskia.soファイルを取得し、プロジェクトにインポートします。サードパーティの共有ライブラリを使用するのと同じように、この共有ライブラリをロードしたいと思います。残念ながら、で実行している間android 4.1.2
、私のアプリケーションはまだシステムskiaライブラリを呼び出しているようです。私はこれについて知りません、そして以下は私のAndroid.mk
ファイルです
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := sample
LOCAL_SRC_FILES := sample-jni.cpp
LOCAL_CFLAGS := -I /home/WORKING_DIRECTORY/external/skia/include \
-I /home/WORKING_DIRECTORY/external/skia/include/core \
-I /home/WORKING_DIRECTORY/frameworks/base/core/jni/android/graphics \
-I /home/WORKING_DIRECTORY/frameworks/base/include \
-I /home/WORKING_DIRECTORY/frameworks/base/native/include/android \
-I /home/WORKING_DIRECTORY/system/core/include \
-I /home/WORKING_DIRECTORY/external/skia/include/xml \
-I /home/WORKING_DIRECTORY/external/skia/include/images \
-I /home/WORKING_DIRECTORY/external/skia/include/views \
LOCAL_SHARED_LIBRARIES :=skia jnigraphics
include $(BUILD_SHARED_LIBRARY)
include $(LOCAL_PATH)/prebuilt/Android.mk
およびビルド済みのmakefile
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := skia
LOCAL_SRC_FILES := libskia.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := jnigraphics
LOCAL_SRC_FILES := libjnigraphics.so
include $(PREBUILT_SHARED_LIBRARY)
何か案は?または、互換性を確保するための他の方法はありますか?