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

2017-06-15  本文已影响0人  hai_phon

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是可以将资源文件一起打包的,这些问题都不会存在了。

上一篇下一篇

猜你喜欢

热点阅读