Android-把含有资源文件的Android lib project 编译成jar
据目前的开发文档,普通的jar是可以被Android项目所引用的。但是如果一个含有各类资源的Android library project要先编译成jar,然后再被主project引用,会存在无法找到资源等问题。
到发布问题之前,找到一个变通方案,但是维护和运行效率上都会打折扣:
1.将lib的资源置于主project中,当然资源的一切命名由lib决定;
2.通过反射获取这些资源的id。例如id为1234的string资源:host.project.R.string.1234
请教各位,是否有更好的workaround.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
同求高手解答。
我自己认为这样是不行的。
如果是访问所调用的jar的资源(包括文件、图片等,不包括layout文件夹里的配置文件),可以将这些资源放到src的包里,然后主project通过getResource方法获取子类的资源。
可以尝试一下这种方法:将xml配置文件也作为文件放到子project里的src里,然后主project通过getResource方法获取子类的xml配置文件,自己解析配置文件,呵呵,这个比较难,我反正是没有实现。
我实现的方法是子project里使用的activity都是动态的activity,即没有相应的xml配置文件,这样,主project只需要在manifest里声明子project的activity即可使用。