我想编写一个可以用模块(android库)扩展的android应用程序。模块应在运行时加载。因此,它们将从URL下载并存储在目录中。
这些模块是aar文件。

有没有办法在运行时动态加载aar文件?

我知道可以通过URLClassLoader加载包含的classes.jar。但是比我无法加载布局,字符串等资源。 HM

有谁知道如何解决这个问题?

编辑:

我发现了一些相关主题:

  • Dynamically loading aar library
  • https://stackoverflow.com/questions/25919338/is-possible-to-include-a-dynamically-aar-file
  • Write Plugin for Android App
  • Plugins architecture for an Android app?
  • How to develop an app that has add-ons?
  • Android - Build an application that supports add-ons

  • 似乎由于第一个链接的回答而无法正常工作。我希望我的想法是错误的。

    最佳答案

    有一个gradle插件可以帮助将aar分解为资源和dexes。 Check this out当您使用注入(inject)依赖项构建项目时,此插件提取aar并将资源与项目资源合并,然后合并 list ,然后收集所有jar(在每个aar和jar依赖项内)并创建一个dex文件,您可以将其上传到任何服务器,并在运行时下载该dex并加载。

    10-07 12:28
    查看更多