Android导出jar包后的资源使用问题

我们常常遇到一个需求,就是给别人使用我们project的时候,为了可以屏蔽代码,把代码封装成jar包提供给第三方使用,可是这样我们的资源文件怎么给对方用呢?

网上有非常多方法,实用ClassLoader的,有写死id的,如我的还有一篇文章

http://blog.csdn.net/mengweiqi33/article/details/19902799
事实上并不用这么的复杂,以下就介绍一下详细的方法


一, 把你要封装jar包的project先设置为库文件(Is Library)

右键项目名称——properties——勾选下图的checkbox就可以。



二、最关键的一步,Clean一次项目!!!

Eclipse点击上面工具栏的Project——Clean——选择项目,确定


三、使用Eclipse的Export功能,将项目src文件夹下的源代码(注不过src文件夹下的源代码,假设须要还能够加上assets文件夹,其他资源我们将以库项目的形式提供给用户)导出Jar包,并把该jar包放到原project的libs文件夹下,刷新。 


这里我补充解释一下,此时导出的Jar,里面的Object = findViewById(R.id.id_name)的R.id.id_name等部分,是不会变的,假设你没做第一步和第二步直接导出,那么R.id.id_name部分会变成R文件中的id值,如:Object = findViewById(2114243567).


四、删除该项目src下的源码


五、将srcjar.jar包增加客户的项目中(我们以jardemo项目简单模拟),并引入我们的plugin资源库项目(注客户项目一定要和资源项目在同一个文件夹下 



六.将plugin资源库项目的AndroidManifest.xml中的内容,加入到客户项目中,大功告成! 

注意:假设在你的项目中存在调用本项目文件夹调用资源,如assets下的apk或者mp3等文件,能够复制到client对应的文件夹就可以。 


假设此方法无论用,请參照还有一篇博文

http://blog.csdn.net/mengweiqi33/article/details/19902799

原文地址:https://www.cnblogs.com/blfshiye/p/4022802.html