【这才是正解!】Android 自定义类库打包jar! 谁说不可以打包res 文件?【Eclipse确实不行, 要用AS的aar格式】
好久之前写的, 现在回看, 确实非常抱歉,误导大家了。 这种方法只是用于项目引用, export的jar包是不包括res的。
不过现在大家都用新工具Android Studio, 它的aar格式, 确实包含了res的。
======================================
我们经常会有这种需求, 自己开发一个类库jar包, 提供给别人调用。
网上很多教程都是这么说:
创建一个Android project, 用eclipse 的export 导出, 去掉AndroidManifest.xml, res 什么的, 全都不是正解!
http://www.cyqdata.com/android/article-detail-37285
用这种方法总会有这样那样的问题。
还有这么说,
android jar包是不能导出resource文件的,确实需要的话, 只能放在assert目录下面, 用AssertManager来访问。
但是你也知道,android.jar 本身就有res啊, 为什么人家可以?
看了官方文档, 我们才知道,不是不可以,是用的方法不对。下面来看看正确的做法是怎么样的。
1.创建一个正常的Android project.
2. 写好你要的代码,res文件(layout, drawable都可以)
3.如果有 Activity, Service, Broadcast Receiver什么的要提供给人家用, 要在AndroidManifest.xml 声明。
4. 关键的来了:在项目属性properties -> Android-> Is Library 勾上!
5. 要引用这个项目时,应该在你的项目project 的properties-》android里library 点击Add, 记住, 不是什么Build path!
6.也许你要问, 我要导出jar 怎么办? 简单啊, 当你保存或者Build 你的项目时, 人家已经帮你生成jar了,就在bin目录下面!
That is all!
最后我想说, 什么教程都是浮云, 最终还是要以官方文档为准: