美文网首页
9、dex文件分析

9、dex文件分析

作者: XX杰 | 来源:发表于2023-01-23 22:18 被阅读0次

    增量更新

    1、就是比较两个APP的差距,只更新相差的地方,而不是全部重新下载,安装
    2、使用的工具 bsdiff 和 bspatch。其中 bsdiff 比较的 新的 apk与老的apk直接的差异,生成一个文件(patch)。 更新的时候下载这个patch文件,在使用bspatch 与 老得 apk 生成一个新的 apk。就是升级之后的apk。
    3、所以在 android app 中如果需要使用到 增量更新的话,需要通过ndk 引入 bspatch 的源码

    补充知识点

    1、ndk的一个语法,因为我们在 apk 中使用增量更新,需要用到  ndk,
    所以需要引入 bspatch和其相关的cpp源码,cmake 快捷的引入方式:
    使用 aux_source_directory(file_name,name) 
    // 把file_name 下的源文件 用 name 来表示
    使用 add_library(cpp_native SHARED native-lib.c ${name})
    2、include_directories(file_name)
    //  设置头文件的 的查找路径,也就是 .h 文件,
    这样在 #include的时候就不用使用 路径的地址了 也就是“”了,可以使用<> 尖括号了。
    

    dex文件的分析 Tinker (热修复)

    image.png

    1、bsdiff 工具,比较两个文件的不同,使用的是 差分算法,可以比较任何文件,生成的batch 也会比较大。
    2、android 中的可执行文件 都是 .dex 文件,不同的文件有不同的存储方式,每个字段也有不同的含义
    3、dexdiff 主要是针对 dex 文件来使用 差分算法 比较两个文件的不同的。产生的数据更小
    4、可以使用 tinker 来替换 dex 文件,达到免安装就更新apk的目的

    相关文章

      网友评论

          本文标题:9、dex文件分析

          本文链接:https://www.haomeiwen.com/subject/qvohhdtx.html