Android Studio 为什么老是加载不起.so文件?
publicclassZbarManager{static{System.loadLibrary("zbar");//这句话加载不起是路径不对么?}publicnativ...
public class ZbarManager {
static { System.loadLibrary("zbar");//这句话加载不起是路径不对么? }
public native String decode(byte[] data, int width, int height, boolean isCrop, int x, int y, int cwidth, int cheight);}
Android.mk文件内容LOCAL_PATH := $(call my-dir)#APP_PATH:= $(NDK)/$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libiconv
LIBICONV := libiconv
LOCAL_CFLAGS := -I$(LOCAL_PATH)/$(LIBICONV)LOCAL_SRC_FILES := $(LIBICONV)/iconv.c
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := zbar
MY_SOURCES_LIST := $(wildcard $(LOCAL_PATH)/*.c)MY_SOURCES_LIST += $(wildcard $(LOCAL_PATH)/decoder/*.c)MY_SOURCES_LIST += $(wildcard $(LOCAL_PATH)/libiconv/*.c)MY_SOURCES_LIST += $(wildcard $(LOCAL_PATH)/processor/*.c)MY_SOURCES_LIST += $(wildcard $(LOCAL_PATH)/qrcode/*.c)MY_SOURCES_LIST += $(wildcard $(LOCAL_PATH)/video/*.c)MY_SOURCES_LIST += $(wildcard $(LOCAL_PATH)/window/*.c)LOCAL_SRC_FILES := convert.c decoder.c error.c image.c img_scanner.c \ refcnt.c scanner.c symbol.c video.c window.c \ \ qrcode/bch15_5.c qrcode/binarize.c qrcode/isaac.c qrcode/qrdec.c qrcode/qrdectxt.c \ qrcode/rs.c qrcode/util.c \ \ processor/null.c video/null.c window/null.c decoder/qr_finder.c \ \ decoder/code128.c decoder/code39.c decoder/code93.c decoder/codabar.c \ \ decoder/ean.c decoder/databar.c decoder/i25.c \ android_zbar.c LOCAL_CFLAGS := -I$(LOCAL_PATH) -I$(LOCAL_PATH)/$(LIBICONV)LOCAL_LDLIBS := -llog
LOCAL_STATIC_LIBRARIES := libiconv
include $(BUILD_SHARED_LIBRARY) 展开
static { System.loadLibrary("zbar");//这句话加载不起是路径不对么? }
public native String decode(byte[] data, int width, int height, boolean isCrop, int x, int y, int cwidth, int cheight);}
Android.mk文件内容LOCAL_PATH := $(call my-dir)#APP_PATH:= $(NDK)/$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libiconv
LIBICONV := libiconv
LOCAL_CFLAGS := -I$(LOCAL_PATH)/$(LIBICONV)LOCAL_SRC_FILES := $(LIBICONV)/iconv.c
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := zbar
MY_SOURCES_LIST := $(wildcard $(LOCAL_PATH)/*.c)MY_SOURCES_LIST += $(wildcard $(LOCAL_PATH)/decoder/*.c)MY_SOURCES_LIST += $(wildcard $(LOCAL_PATH)/libiconv/*.c)MY_SOURCES_LIST += $(wildcard $(LOCAL_PATH)/processor/*.c)MY_SOURCES_LIST += $(wildcard $(LOCAL_PATH)/qrcode/*.c)MY_SOURCES_LIST += $(wildcard $(LOCAL_PATH)/video/*.c)MY_SOURCES_LIST += $(wildcard $(LOCAL_PATH)/window/*.c)LOCAL_SRC_FILES := convert.c decoder.c error.c image.c img_scanner.c \ refcnt.c scanner.c symbol.c video.c window.c \ \ qrcode/bch15_5.c qrcode/binarize.c qrcode/isaac.c qrcode/qrdec.c qrcode/qrdectxt.c \ qrcode/rs.c qrcode/util.c \ \ processor/null.c video/null.c window/null.c decoder/qr_finder.c \ \ decoder/code128.c decoder/code39.c decoder/code93.c decoder/codabar.c \ \ decoder/ean.c decoder/databar.c decoder/i25.c \ android_zbar.c LOCAL_CFLAGS := -I$(LOCAL_PATH) -I$(LOCAL_PATH)/$(LIBICONV)LOCAL_LDLIBS := -llog
LOCAL_STATIC_LIBRARIES := libiconv
include $(BUILD_SHARED_LIBRARY) 展开
1个回答
2014-12-23
展开全部
Android Studio刚发布,相信很多朋友和我一样,开始尝试用其开发项目,但新东西总会遇到这样或那样的问题,其中令我头的就是引入第三方的jar包无法编译的问题,因为是新东西,相关的信息都比较少,解决问题令我花费了相当长的时间,为了避免各位同仁再走弯路,在此将解决步骤列出来。
1、将jar包放入项目里的libs文件夹中。
2、在project选中jar包点击右键"Add as library"。
3、这两步是网上比较容易找到的,但此时项目仍然是无法正常编译的,这时需要在项目的build.gradle文件里的dependencies节加入 dependencies
{
compile files('libs/android-support-v4.jar')
compile files('libs/xxxx.jar')
}
4、此时项目正常编译并运行了,但当你的代码中真正创建了引用jar里的类实例时,有可能系统会抛出异常NoClassDefFoundError,这个时候可以按以下步骤操作:
进入命令提示符窗口。
定位到项目的根目录,即build.gradle所在的目录。
运行 "{android studio 安装目录}\sdk\tools\templates\gradle\wrapper\gradlew.bat" clean
重新编译运行项目
通过以上操作,应该可以解决问题。
1、将jar包放入项目里的libs文件夹中。
2、在project选中jar包点击右键"Add as library"。
3、这两步是网上比较容易找到的,但此时项目仍然是无法正常编译的,这时需要在项目的build.gradle文件里的dependencies节加入 dependencies
{
compile files('libs/android-support-v4.jar')
compile files('libs/xxxx.jar')
}
4、此时项目正常编译并运行了,但当你的代码中真正创建了引用jar里的类实例时,有可能系统会抛出异常NoClassDefFoundError,这个时候可以按以下步骤操作:
进入命令提示符窗口。
定位到项目的根目录,即build.gradle所在的目录。
运行 "{android studio 安装目录}\sdk\tools\templates\gradle\wrapper\gradlew.bat" clean
重新编译运行项目
通过以上操作,应该可以解决问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询