我们开发的android应用有时会导出些接口供其他应用使用,通常我们会打jar包给新工程使用,在打jar包的时候需要注意一个很重要的事项:
如果我们对外开放的是某个activity并且用到了资源文件(res目录下的图片或其他资源),此时不能通过R.layout.xxx R.drawable.xx.png方式,即便是打jar包的时候将
res目录勾选上了也会报错的,因为jar包中res目录下的文件不会生成R文件的,那如何处理呢?
我们可以将使用到的资源放到assets目录下打jar的时候将src和assets两项勾选上,然后jar包中的activity通过代码去使用这些资源文件,这种方式能够成功的原因是,新工程导出的apk会把你的jar中的assets下的文件和自身的asstes文件合并到一起,这样通过assetsManager.open肯定能过找到文件的。