我在android源码中编译一个apk,使用了几个第三方库文件,下面是Android.mk文件内容:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := debug optional eng
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := SDLgui
LOCAL_CERTIFICATE := platform
LOCAL_JNI_SHARED_LIBRARIES := libbarcodereader libbarcodereader43 libbarcodereader44 libIAL libSDL
include $(BUILD_PACKAGE)
##################################################
include $(CLEAR_VARS)
LOCAL_PREBUILT_LIBS := libs/armeabi/libbarcodereader.so \
libs/armeabi/libbarcodereader43.so \
libs/armeabi/libbarcodereader44.so \
libs/armeabi/libIAL.so \
libs/armeabi/libSDL.so
LOCAL_MODULE_TAGS := debug optional eng
include $(BUILD_MULTI_PREBUILT)
Use the following include to make our testapk.
include $(callall-makefiles-under,$(LOCAL_PATH))
编译OK,并且在out/.../system/lib/文件夹下和out/.../obj/lib/文件夹下生成了相应的库,但是APK在运行的时候报错,提示 java.lang.NoSuchFieldError: no field with name='mNativeContext' signature='I' in class Lcom/zebra/adc/decoder/BarCodeReader....
定位到代码中是System.loadLibrary的地方报错。
请高手帮忙解答,谢谢!