最近项目要结尾了,最主要的是还要把工程源码给客户,要把工程打包!
该工程包含两个项目,一个项目是类库项目,里面提供了好多方法、组件、效果等等;另一个项目是目标应用,也就是客户项目。那现在的问题就来了,要给客户打包工程,必须还能在编辑器里面跑起来,那肯定得两个项目一起打包了,可是,类库项目包含了公司自己的东西,这样要是直接给的话,那么公司肯定不愿意。所以,得想想办法,看看怎么解决这个问题。
在网上也找了好多方法,也问过好多人,可是都没成功,于是乎狠下心来,自己仔细研究了一番,终于找到了一个切实可行的方法(当然也参考了其他人的思想),并且很简单,那么下来,我就说说是如何实现的,希望可以帮助碰到同样问题的同仁。
首先,先说点题外话,大家在做项目时,可以收集好的方法,好的思想,可以放在一个项目里面,可以把这个项目称之为核心库或者库项目,在我们开发项目的时候可以依赖这个项目,这样开发项目,那是相当的方便,相当的爽,这次第,怎么一个“爽”字了得?
好了,咱们言归正传。假如你的库项目名是CoreLibrary,那么该项目编译成功后,肯定会在bin目录下生成一个*.jar文件,那么后面一会咱们就会用到这个jar。大概步骤如下:
1.在IDE里面新建一个项目,和库项目基本一样(名字不一样,其他的都一样,例如资源、包名等等),有一个很简单的方法,就是你直接复制库项目,然后在项目树目录中粘贴,那么此时会让你重命名项目名称,重命名后点击完成,那么此时会生成一个新的项目,除了与库项目名称不一样,其他的什么都一样,接下来删除掉所有了源代码以及包但是要保留主包(只剩下一个空的主包),这时要把前面咱们提到的那个*.jar放到libs目录里面,然后设置该项目为库项目(在项目上右击选择Properties,单击Android,选择 Check "Is Library"(即Project ->Properties -> Android -> Check "Is Library"),最后点击ok,就完成了。
),效果图如下:
2.设置应用项目依赖于新的库项目,右击选择Properties,单击Android,选择 Add(即Project -> Properties -> Android -> Add),
经过上面两步,基本就完成了。你可以看看项目有没有报错或者直接运行项目。
PS:我在实际操作中遇到一些问题,例如,在应用项目里面用到库项目里面的资源、命名空间,那么在应用项目里面就会包错,说找不到该资源,那么要做的就是把库项目里面的资源复制到应用项目(只复制报错的资源);应用项目有混淆,在打包的时候,会报错,不能打包,那么需要在应用的混淆文件里面把*.jar文件添加混淆代码(不会混淆的,请在网上搜索相关混淆的代码)。
最终打包成功,并且库项目里面的源码没有公布出来,O(∩_∩)O哈哈~!以后把方法总结到一个项目中,直接调用就行。