该解决方案从网站中提取工作片段:
...截取对startActivityForResult、getResources和一些其他函数的所有调用。当您尝试启动活动时,Evolve会生成一个虚拟类并将其超类设置为您想要启动的活动。
...动态生成新类的字节码
...然后更改意图以启动适当的类
这仍处于alpha模式,因此需要您付出一些努力进行集成。
解决方案链接 - http://blog.vivekpanyam.com/evolve-seamlessly-deploy-android-apps-to-users
假设这是您期望的内容,希望对您有所帮助!
1.创建一个Web服务,您的应用程序可以在每次启动应用程序时轮询该服务,或者基于某个时间限制来检查是否存在新版本。
2.此Web服务应返回托管在服务器上的最新apk文件版本以及具有新版本的应用程序文件的URI。
3.当您的应用程序从Web服务获得响应时,它将解析JSON并将您的应用程序版本与服务器上可用的最新版本进行比较。
4.如果您的应用程序版本低于最新版本,则会提示用户开始下载过程。
5.新应用程序的下载由下载管理器处理。下载管理器将使用广播接收器通知您的应用程序下载完成情况。
6.在完成应用程序文件的最新版本后,您可以启动安装该文件的活动。此时,用户需要确认安装。请参阅https://code.google.com/p/auto-update-apk-client/。
如果您拥有自己的应用商店,那么您必须在相关设备上运行客户端应用程序,以允许用户从该应用商店安装/更新应用程序。
作为客户端的一部分,您可以拥有一个服务,枚举设备上安装的应用程序,并检查您的商店是否有可用的更新。如果是,则向用户显示提示,让其访问商店以更新相应的应用程序-或在情况下执行其他适当的操作。
您还可以注册此服务以接收网络连接事件的广播,以便如果没有互联网连接,服务将在连接再次可用时接收通知。