我想编写一个可以用模块(android库)扩展的android应用程序。模块应在运行时加载。因此,它们将从URL下载并存储在目录中。
这些模块是aar文件。
有没有办法在运行时动态加载aar文件?
我知道可以通过URLClassLoader加载包含的classes.jar。但是比我无法加载布局,字符串等资源。 HM
有谁知道如何解决这个问题?
编辑:
我发现了一些相关主题:
似乎由于第一个链接的回答而无法正常工作。我希望我的想法是错误的。
最佳答案
有一个gradle插件可以帮助将aar分解为资源和dexes。 Check this out当您使用注入(inject)依赖项构建项目时,此插件提取aar并将资源与项目资源合并,然后合并 list ,然后收集所有jar(在每个aar和jar依赖项内)并创建一个dex文件,您可以将其上传到任何服务器,并在运行时下载该dex并加载。