APK瘦身属性——android:extractNativeLibs

一、前提

因为Android 11微信登录的问题,将gradle升级到了3.6.0版本,结果原本一个60M左右的包打完之后成了90多M。

二、分析

用rar软件打开apk包,对比了老包后发现,新包中用到的lib下libcocos2djs.so压缩算法为Store(存储模式,无压缩)。后面在网上找了一些资料,发现在gradle版本比较高的时候,android:extractNativeLibs的默认值发生了改变。

  • minSdkVersion < 23 或 Android Gradle plugin < 3.6.0情况下,打包时 android:extractNativeLibs=true
  • minSdkVersion >= 23 并且 Android Gradle plugin >= 3.6.0情况下,打包时android:extractNativeLibs=false

三、解决办法

在主工程的AndroidManifest.xml配置中,找到标签,添加android:extractNativeLibs=true属性即可。
如CocosCreator的工程中

<application
        android:allowBackup="true"
        android:label="@string/app_name"
        android:usesCleartextTraffic="true"
        android:icon="@mipmap/ic_launcher"
        android:extractNativeLibs="true"
        tools:targetApi="n">

本文参考:https://www.cnblogs.com/xiaxveliang/p/14583802.html

0%