最近设计和实现了一个ANDROID的应用,目前在部署中。。。
先大致总结下几点主要问题。如果有兴趣,可以继续讨论细节。
1)ANDROID所谓静默升级门槛很高。我将应用部署为2部分:一部分是轻量级内核,另外一部分为业务扩展包。
??? 内核主要负责实现跟ANDROID关系紧密的部分,如服务,Activity壳,权限声明,Receiver 注册等。
??? 扩展包主要实现业务逻辑。
??? 用户仅仅需要安装内核, 扩展包由内核后台自动下载,动态加载的。因此内核的设计需要考虑很多。
2)用AOP,处理内核的字节码,实现动态更改内核,将内核的升级需求Proxy到升级扩展包。
在内核中创建接口
public interface IMethodProxy {
???
??? boolean needProxy( JoinPoint joinPoint );
???
??? Object proxyMethod( JoinPoint joinPoint );
???
??? void before( JoinPoint joinPoint );
???
??? void after( JoinPoint joinPoint );
}
?
扩展包实现该接口,AOP的Trace 完成对IMethodProxy实例的调用。
?
?