动态加载库

时间:2017-11-21 13:29:20

标签: java android shared-libraries dex

我已经为我的应用程序的每个功能制作了一些模块,然后我在gradle conf文件中选择它们。但是,模块是在编译构建时注入的,但我想在运行时加载它们。如果它们在运行时加载,则用户可以加载他想要的功能。

我已经使用反射在我的主应用程序模块中加载模块,所以我只需要修改gradle buid文件。

是否可以使用dex loader动态加载aar lib或apk?

1 个答案:

答案 0 :(得分:0)

是的,您可以使用DexClassLoader和Java反射(Class<Object>.getMethod(...).invoke())。但它会降低您的应用程序速度,并使开发人员难以实施和修复错误。

如果你真的想这样做以减少你的APK尺寸,请参阅详细的答案here

相关问题