APK的世代正在改变.so文件的大小

问题描述:

在apk中,我使用的是包含本机库的aar库。试图在运行时计算.so文件的MD5校验和,我注意到它与aar中的.so文件不同。文件的大小也会发生变化:apk中的文件重量减少大约20个字节。有谁知道为什么apk生成过程正在修改这种文件?有什么我可以做的,以保持文件完好?APK的世代正在改变.so文件的大小

它只发生在arm64版本。

+0

是作为预编译的二进制文件包含的本地库,还是由NDK编译和构建? – rupps

+0

由Gomobile编译并构建,然后复制到最终的.aar库中。 – achojoao

在我的app/build文件夹中,我看到.so文件也位于中间体/变换/ mergeJniLibs和中间体/变换/ stripDebugSymbol。 mergeJniLibs中.so文件的md5sum与原始.so文件的总和相匹配。 stripDebugSymbol中.so文件的md5sum是不同的。进一步的调查使我这个添加到模块的的build.gradle的Android的部分(参见:PackagingOptions doNotStrip documentation ):

android { 
    . 
    . 
    packagingOptions { 
     doNotStrip "**/*.so" 
    } 
    . 
} 

经过摇篮同步,清洁和重建的。所以md5sum也在app /构建/输出/ apk /调试与原始md5sum相匹配。

+0

尽管此链接可能会回答问题,但最好在此包含答案的基本部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/19049901) – EJoshuaS

+0

更新为包含答案文本,而不是指向另一个问题的链接。 –