2017-08-10 9 views
4

apkで、私はネイティブライブラリを含むaarライブラリを使用しています。実行時に.soファイルのMD5チェックサムを計算しようとしましたが、これはaarファイルの.soファイルとは異なっていました。ファイルのサイズも変更されます:apkのファイルの重量は約20バイト少なくなります。誰もがapk生成プロセスがこの種のファイルを変更している理由を知っていますか?ファイルをそのまま維持するためにできることはありますか?APKの生成で.soファイルのサイズが変更されています

これはarm64バージョンでのみ発生します。

+0

は、プリコンパイルされたバイナリファイルとして組み込まれているネイティブライブラリですか、それともNDKによってコンパイルされビルドされていますか? – rupps

+0

Gomobileによってコンパイルされ、ビルドされ、最終的な.aarライブラリにコピーされます。 – achojoao

答えて

0

私のapp/buildフォルダでは、.soファイルが中間体/変換/ mergeJniLibsと中間/変換/ stripDebugSymbolにもあることがわかりました。 mergeJniLibsの.soファイルのmd5sumは、元の.soファイルの合計と一致していました。 stripDebugSymbolの.soファイルのmd5sumは、異なるものでした。詳しい調査の結果、(:PackagingOptions doNotStrip documentation をも参照):モジュールのbuild.gradleのアンドロイドセクションにこれを追加するために私を導いGradleの同期後

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

、きれいな、と再構築、アプリ内の.soのmd5sumをを/ build/outputs/apk/debugは元のmd5sumと一致します。

+0

このリンクは質問に答えるかもしれませんが、回答の重要な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューの投稿](/ review/low-quality-posts/19049901) – EJoshuaS

+0

別の質問へのリンクではなく、回答テキストを含むように更新されました。 –

関連する問題