0

我在 vendor/xxx/libs/frameworks 中有一个库。我想在位于 packages/apps/ 的单独应用程序中使用该库。当我调用库的类时,我得到了 ClassNotFoundException。所以我应该在我的应用程序 makefile 或清单文件中声明这个 jar。如果是,我该怎么做?

这是罐子的制作文件

LOCAL_PATH := $(调用我的目录)

# ================================================== ===========

包括 $(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)

==================================================== ==========

4

4 回答 4

1

您还没有提到是否将 jar 添加到应用程序的构建路径中。为此,请右键单击项目 > 构建路径 > 添加外部档案。

如果这不能解决这个问题,那么你应该看看这个步骤:Android ClassNotFoundException

我希望这有帮助。

于 2012-08-20T06:45:19.133 回答
1

按照此步骤将 jar 文件包含在 android 应用程序中。这将对您有所帮助。

将你的 jar 文件放在 lib 文件夹中。

现在右键单击 jar 文件。转到构建路径,然后配置构建路径。 现在打开一个对话框。单击添加 JAR.. 按钮。现在从打开的项目列表中选择要添加到应用程序中的 jar 文件。

现在点击OK。您的 jar 文件已添加到您的应用程序中

于 2012-08-20T06:54:07.857 回答
1

如果您还没有弄清楚这一点,那么您正在寻找的构建命令是:

LOCAL_STATIC_JAVA_LIBRARIES := android-common <YOUR-FRAMEWORK>

假设您在框架中的 makefile 具有类似的指令

LOCAL_MODULE:= <YOUR-FRAMEWORK>

祝你好运,我发现 Android 构建系统是一个巨大的无证混乱 - 但他们可能打算这样

于 2012-11-27T00:27:41.910 回答
1

在应用程序的清单中使用<uses-library>以引用此 .jar。

于 2014-09-02T14:47:14.240 回答