6

我按照以下快速 blox 给出的说明进行操作: https ://quickblox.com/developers/Sample-webrtc-android

dependencies 
{
compile 'com.quickblox:quickblox-android-sdk-videochat-webrtc:3.3.0'
}

最初我的 apk 大小是 9MB,但是当我在我的应用程序中集成 quickblox 视频聊天时,由于以下不同 .so 文件的平台,apk 大小增加到 45 MB:

>arm64-v8a
>armeabi-v7a
>x86
>x86_64  

libraries - libjingle_peerconnection_so.so

有什么方法或建议可以减少 apk 的大小吗?

4

2 回答 2

5

我正在查看 QuickBlox 提供的示例代码,发现您最多可以保存 10 MB 的 apk,但您必须构建 4 个 apk。您可以检查gradle文件

 /*There is code for excluding some native libs (it useful if you need reduce apk size and want
build apk only for specific platform). This method allows you to achieve savings about 10MB
of apk's size (but you need build 4 different apks). */
    packagingOptions {
        exclude '**/armeabi-v7a/libjingle_peerconnection_so.so'
        exclude '**/arm64-v8a/libjingle_peerconnection_so.so'
        exclude '**/x86_64/libjingle_peerconnection_so.so'
        exclude '**/x86/libjingle_peerconnection_so.so'
    }

关于多个 APK

不同的 Android 手机使用不同的 CPU,这些 CPU 又支持不同的指令集。CPU 和指令集的每个组合都有自己的应用程序二进制接口,或 ABI

  • armeabi-v7a

    arm64-v8a

    x86_64

    x86

这些是ABI

构建 4 个 apk 意味着您可以分别为这 4 个 ABI 创建 apk。主要思想是不包含不适用于特定 ABI 的库,从而通过仅包含该 ABI 所需的库来减小大小

例如

splits {
        abi {
            enable true
            reset()
            include 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' //select ABIs to build APKs for
            universalApk true //generate an additional APK that contains all the ABIs
        }
    }

更新:

如何将多个 APK 上传到 PlayStore?

这个问题已经在 SO 上提出过。请检查这个问题

于 2018-02-20T07:01:06.003 回答
-2

如果您想向应用程序添加视频通话或音频通话功能,则必须添加这些文件。随着缩小你的 apk 大小,有很多关于它的文章,但关于带有 quickblox 的 jnilibs 并没有太多。

关于缩小尺寸的 Google 开发者文档

希望能帮助到你。

于 2017-03-11T20:37:44.353 回答