Andriod模块化开发初探二之门外汉

eclipse环境下打包成dex包的模块化开发


1.假设A是主模块,不需要打包成dex包,它的res资源什么的都可以正常加载,和普通的开发模式是一样的,而B模块是A里面某个按钮打开的,即这里的B模块是动态加载的,他是需要被打包成jar包再打包成dex包使用的。

2.jar包只能打包src的代码,剩下的jar文件夹,res文件夹,assets,libs等等资源文件夹都不能打包到jar包里面去。因为xml文件不能放到jar包里面去,代码无法用传统的inflate.from()方法加载了,所以布局文件必须这种情况下也是java代码写的,图片资源的加载也不能用传统的setBackgroudResources(R.drawable.xxx)的方式加载了,图片资源所以要打包成一个zip包放到后台,下载dex包的时候一起下载下来放到本地,通过加载本地图片文件获取到Drawable再在java代码中使用这些图片资源,如setBackground(drawable);对于引用的第三方jar包,B(C/D)模块的jar包必须要要在主模块放一份,因为最后B.dex文件里面会找不到这个jar包资源,所以要在主模块里面放一个,但是B模块中也必须要,要不B模块的代码在测试的时候就会出问题。

3.如果使用as开发,就可以用aar打包,aar是可以将资源文件一起打包的,这些问题都不会存在了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容