我在vendor / xxx / libs / frameworks中有一个库。我想在位于packages / apps /的单独应用程序中使用该库。当我调用库的类时,我得到ClassNotFoundException。所以我应该在我的应用程序makefile或清单文件中声明这个jar。如果是,我该怎么做?
这是罐子的make文件
LOCAL_PATH:= $(致电my-dir)
#============================================== ==============
包括$(CLEAR_VARS)
LOCAL_MODULE:= xxx_core.jar
LOCAL_MODULE_CLASS:= JAVA_LIBRARIES
LOCAL_MODULE_PATH:= $(TARGET_OUT_JAVA_LIBRARIES)
LOCAL_SRC_FILES:= $(LOCAL_MODULE)
包括$(BUILD_PREBUILT)
包括$(CLEAR_VARS)
LOCAL_MODULE:= xxx_core.xml
LOCAL_MODULE_CLASS:= ETC
LOCAL_MODULE_PATH:= $(TARGET_OUT_ETC)/权限
LOCAL_SRC_FILES:= $(LOCAL_MODULE)
包括$(BUILD_PREBUILT)
答案 0 :(得分:1)
您尚未提及是否将jar添加到应用的构建路径中。为此,请右键单击项目>构建路径>添加外部档案。
如果这不能解决这个问题,那么你应该看一下这个问题:Android ClassNotFoundException
我希望这会有所帮助。
答案 1 :(得分:1)
按照此步骤在android应用程序中包含jar文件。这对你有所帮助。
将你的jar文件放在lib文件夹中。
现在右键单击jar文件。 转到构建路径,然后配置构建路径.. 现在打开一个对话框。 单击添加JAR .. 按钮。 现在从打开的项目列表中选择要在应用程序中添加的jar文件。
现在点击确定。 您的jar文件已添加到您的应用程序中
答案 2 :(得分:1)
如果您还没有想到这一点,那么您正在寻找的构建命令是:
LOCAL_STATIC_JAVA_LIBRARIES := android-common <YOUR-FRAMEWORK>
假设你的框架中的makefile有一个像
这样的指令LOCAL_MODULE:= <YOUR-FRAMEWORK>
祝你好运,我发现Android构建系统是一个巨大的无记录混乱 - 但后来他们可能是这样想的
答案 3 :(得分:1)
在应用程序的清单中使用<uses-library>
来引用此.jar。