我已经为我的应用程序的每个功能制作了一些模块,然后我在gradle conf文件中选择它们。但是,模块是在编译构建时注入的,但我想在运行时加载它们。如果它们在运行时加载,则用户可以加载他想要的功能。
我已经使用反射在我的主应用程序模块中加载模块,所以我只需要修改gradle buid文件。
是否可以使用dex loader动态加载aar lib或apk?
答案 0 :(得分:0)
是的,您可以使用DexClassLoader
和Java反射(Class<Object>.getMethod(...).invoke()
)。但它会降低您的应用程序速度,并使开发人员难以实施和修复错误。
如果你真的想这样做以减少你的APK尺寸,请参阅详细的答案here。