-1

我正在尝试在运行时在我的 android 应用程序中从 JAR 文件加载类。我正在使用 DexClassLoader。

我按照以下步骤进行操作:- 一些 JAR 文件存在于硬盘上的某个内存位置。我正在从该 JAR 准备 dex 文件并将其存储在应用程序的 appdex 文件夹中。然后我使用 DexClassLoader 加载类,然后创建类的实例并使用接口调用它的方法。

问题 - 只有当我在 android 项目的 libs 文件夹中包含 JAR 文件时它才有效(在 eclipse 上)。如果我从 libs 文件夹中删除 JAR 文件,那么在调用 loadClass() 方法时,它会抛出 ClassNotFoundException。理想情况下,它应该在 libs 文件夹中不包含 JAR 的情况下工作。我想删除该依赖项(从 libs 文件夹中)。

我错过了什么吗?

PS - 我创建了单独的 android 项目,从中创建 JAR 并将其用作插件。

4

1 回答 1

1

我怀疑此错误是由于您为dex文件指定的路径不正确造成的。

查看这个问题的答案:android dexclassloader get list of all classes。如果您的路径不正确,那么建议的方法会给您一个例外。

于 2013-08-08T01:21:09.760 回答