需求:
之前为联通华盛做过一个手机销量上报系统,上线差不多用了一年多,后来他们又要做一个员工培训系统,需要将之前的上报系统作为培训系统的子模块,这就需要将两个系统整合到一起。说白了也就是两个apk源码整合起来。
步骤:
1,我将上报系统作为一个类库使用,在eclipse中将is library的勾打上:如图:
2,然后在培训系统中将这个类库加入:如图:
3,将上报系统清单文件中的各种权限以及对四大组件的声明挪到培训系统的清单文件中,然后培训系统就可以启动上报系统,调用上报系统中的模块了,
出现的问题:
1,这两个需要整合的系统中的布局文件的名称不能重复,我有个布局文件名称是重复的,我重新命名了之后,任然报错,说找不到id什么的
ava.lang.NoSuchFieldError:com.funayman.listactivity.R $ id.img_fb
然后我就重新创建了一个布局文件,将之前的代码copy过去就好了;
2,之前的两个系统都是独立的application,并且都继承了application,在自己的子类中做了一些操作,所以整合起来变成一个application的时候,就又报错了。于是我将上报系统的application中做的事抽取到一个普通的类中,然后在培训系统的application中去调,这样问题都解决了。
后来遇到的一个问题:
只有在同一目录下面才能将一个工程作为jar add进去,不同目录下会引用无效。