转载请注明出处,点击此处 查看更多精彩内容。
将一个项目导出为jar包很简单,步骤:右键点击目标项目 --> 选择Export… --> 选择Java --> 选中Jar file --> 点击Next按钮 --> 将勾选全部去掉只保留src --> 下面有个框框可以选择导出路径 --> Finish。
- 如果项目中没有使用到资源(如图片、布局文件)直接导出即可。
- 如果有资源文件那么直接导出也不会报错。但是在使用的时候会报一些id找不到之类的错误。
本文将介绍几种项目导出为jar包后仍能调用资源的方式:
第一种、通过反射动态获取资源id
参考另一篇文章:http://blog.csdn.net/u014165119/article/details/46302695
把原来的R.id.×××
、R.layout.×××
等资源id获取方式改为MResource.getViewIdByName(Context context, String name)
、MResource.getLayoutIdByName(Context context, String name)
等方式,之后正常导出jar包。使用jar包时把资源一起拷贝到新项目对应的位置即可。
第二种、使用library库的方式(1)
只需要把要封装jar包的项目改为library,并在要使用jar包的项目中引用此项目,并把library中的AndroidManifest.xml文件中的内容添加到使用library的项目的AndroidManifest.xml文件中。
将普通Android项目变成library: 右键点击要变的项目 --> 选择Properties --> 在弹出框的左上角选择Android --> 勾选Is Library单选框 --> OK。
引用library: 右键点击要变的项目 --> 选择Properties --> 在弹出框的左上角选择Android --> 点击Add…按钮 --> 在弹出框中选中要使用的library --> OK。
注意:这种方式使用起来比较简单,但是会暴露源码,如果要给其他公司使用就不行了。
第三种、使用library库的方式(2)
步骤:
- 把要封装jar包的项目设置为library库(Is Library)。
- 将项目Clean一次。步骤:工具栏点击Project --> 选择Clean… --> 选中项目 --> OK。
- 使用Export导出jar包(只导出src目录下的源码)。
- 将导出的jar文件复制到项目的libs文件夹下,并删除src下的源码。
- 在使用library的项目中引用library。
- 把library中的AndroidManifest.xml文件中的内容添加到使用library的项目的AndroidManifest.xml文件中。
这种方式是library和jar包结合使用,既隐藏了源码,又简单方便。
注意: 使用第二、第三中方式时,布局文件等资源的名字在library库和引用library库的项目中不能有相同的。