核心部分 bsdiff 和zip2
bsdiff 相关下载地址 :
官网http://www.daemonology.net/bsdiff/
镜像地址 https://packages.debian.org/zh-cn/sid/ppc64el/bsdiff/download
对应的版本链接http://ftp.de.debian.org/debian/pool/main/b/bsdiff/
zip2 相关下载地址 :
官方网站https://sourceforge.net/projects/bzip2/
对应的版本链接https://sourceware.org/pub/bzip2/
Android引入 新建module lib模块 如图所示引入相关bsdiff源码和zip源码相关文件

CMakeLists.txt 文件配置
相关代码
cmake_minimum_required(VERSION 3.4.1)
aux_source_directory(bzip2 BZIP_SOURCES)#bspatch.c合成文件所需依赖库
add_library(
bspatch_lib #库名
SHARED#动态库
native-lib.cpp
bspatch.c
${BZIP_SOURCES}#源文件
)
include_directories(bzip2)
target_link_libraries(
bspatch_lib
log)
native-lib.cpp相关配置,这里是jni交互部分 java 调用c c++相关方法,如图所示
相关代码
#include <jni.h>
#include <android/log.h>
extern "C" {
extern int executePatch(int argc, char *argv[]);
}
extern "C"
JNIEXPORT jint JNICALL
Java_com_example_patchlib_PatchUtils_patch(JNIEnv *env, jobject clazz, jstring old_apk,
jstring new_apk, jstring patch_file) {
int args = 4;
char *argv[args];



最低0.47元/天 解锁文章
893

被折叠的 条评论
为什么被折叠?



