如何在运行时从Assets文件夹加载JAR

时间:2014-06-10 07:22:38

标签: android jar runtime

如何在运行时从android应用程序的assets文件夹加载jar文件。从资产文件夹加载是我的要求。有没有办法做到这一点。请帮忙..

1 个答案:

答案 0 :(得分:5)

我得到了答案。我在这里添加这个答案。因为这可能对其他一些人有所帮助。

有实现这一目标的步骤。

  1. 您必须将JAR文件的副本复制到应用程序的私有内部存储中。

    1. 使用android文件夹中的 dx 工具,您必须生成与JAR文件关联的classes.dex文件。 dx工具将位于 /android-sdks/build-tools/19.0.1 位置(Dalvik VM需要此文件,dalvik VM无法读取jar))< / p>

    2. 使用也位于同一位置的 aapt 工具命令,您必须将classes.dex添加到JAR文件中。

    3. 可以使用DexClassLoader动态加载此JAR文件。

    4. 如果您从自己的库中创建JAR,则每次库源代码发生更改时,都必须执行此步骤(1-4)。因此,您可以通过创建shell脚本(在Mac / Linux / Ubuntu中)或批处理脚本(在Windows中)来自动执行此步骤。您可以参考此link来了解如何编写shell脚本。

  2. 注意:实现此方法的一种情况是,当无法将JAR文件直接添加到核心项目的构建路径并且需要在运行时动态加载时。在正常情况下,可以将JAR文件添加到构建路径中。

    请查看此链接以获取详细的代码和实施。

    How to load a jar file at runtime

    Android: How to dynamically load classes from a JAR file?