您的位置:首页 > 其它

把自己的程序打成jar包,让别人调用

2015-01-26 15:12 197 查看
[align=left] 我们写程序的时候往往需要把自己的程序打包成jar包,给第三方调用。Eclipse让我们非常方便的可以导出jar包。但是当程序里需要用到res里的资源时,往往就会出现问题。因为统自动生成的R类如果被打到jar包中后,就失去了索引资源的作用。导致封装成jar包的view无法获取对应资源。因为R类的属性值是在应用编译打包时由系统自动分配的。R类打包之后失效,实际是因为R类的内部类里面的属性失效,因为打包之后这些属性的值就固定了,但是实际项目中这些值是在编译时有系统自动分配的,无法在编译前固定。[/align]
[align=left]本文就提供一种方法,解决这个问题。[/align]
[align=left]首先建立一个AndroidJar项目。这个项目将来就是要打成jar包的项目。[/align]
结构如下:
<ignore_js_op>


[align=left]然后再建立一个AndroidJarTest项目。这个项目就是应用jar包的项目。[/align]
[align=left]AndroidJar写好后,就是导出jar包。相信大家都非常熟悉,步骤如下:[/align]
[align=left]1.选中AndroidJar,右键选择export。[/align]
2.选择jar file。只需导出源码。如图:
<ignore_js_op>


[align=left]1.然后点击finish。就可以导出jar包了。[/align]
[align=left]AndroidJarTest项目对jar包的应用方法。[/align]
1.在AndroidJarTest项目下建立一个libs文件夹,再把刚才导出的jar包放到里面。再把jar包加到java build path的路径里。
<ignore_js_op>


[align=left]2.因为刚才只是把AndroidJar的源码打成了jar包。但是资源并没有打包。所以现在要把AndroidJar项目里的资源。拷贝到AndroidJarTest的项目下。具体就是res下的文件。因为太简单,这里就不演示怎么拷了。
[/align]
2.最后要在AndroidJarTest的AndroidManifest.xml里注册AndroidJar里的activity,service,receiver。很多广告插件都是这么做的。相信大家都非常熟悉。

[Java] 纯文本查看 复制代码

?
在AndroidJarTest里就只要一个其他的activity。它负责跳转到AndroidJar里。AndroidJar里就三个按钮分别是启动一个服务,每隔10秒就发出一个广播,然后广播接收到后就弹出一个toast,“大家好,我是苍老师!”和一个停止服务。最下面一个就是跳到一个有苍老师的界面。
<ignore_js_op>

<ignore_js_op>

<ignore_js_op>


[align=left]程序相当简单。其中根据资源创建view,和根据资源找到相应字符的核心类为ResManager。大家可以下载源码,研究研究。
[/align]

<ignore_js_op>

该贴已经同步到 feathersong的微博
<ignore_js_op>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: