android差分更新之服务端
android差分服务端的问题困扰了我很久,网上有很多教程来实现差分问题,但是因为使用的编译工具不一样,我每次都是以失败而告终,今天我终于把差分的问题解决了,特写下此博客记录我的成果。
首先,要感谢以下博客(https://blog.****.net/ywl5320/article/details/78324601)的作者,非常感谢提供教程,我的方法是在上面博主的基础下编译成功的,只不过我使用的是vs2017,我在开始搞这个的时候,上述博客中遇到的问题,我都遇到了,下面我直接记录我自己在做的过程中遇到的问题:
1.作者用的vs2013,我使用的vs2017,首先编译的时候会出现错误: 无法将参数 5 从“char [1024]”转换为“LPWSTR”
解决的方法如下(这个是bsdiffer.cpp的内容)
修改成功之后编译就可以通过了,就可以到项目下找到dll文件了
2.在服务端我使用的是eclipse,在eclipse中创建一个server项目DifferForServer,在DifferForServe下新建dll文件夹,将我们生的dll文件放进去,如图
3.我们在java文件中引用,如图:
如果直接运行,会报错:找不到dll文件
4.我们需要将native Lib加到项目中去,右键工程DifferForServer->properties->java Build Path->Source:
经过以上设置之后,再执行main方法就会生成对应的patch文件,后面就可以开心的撸码了。
前面的一些c文件的编译,在我给出的博客地址中已经详细的说明了,我在这里就不再冗述了,以上如果错误,欢迎指正