簡體   English   中英

如何減少web-RTC庫的大小?

[英]How to reduce the web-RTC library size?

我按照快速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大小?

我正在查看QuickBlox提供的示例代碼,發現您可以保存最多10 MB的apk但是您必須構建4個apks。 您可以檢查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和指令集的每個組合都有自己的應用程序二進制接口或ABI

  • armeabi-V7A

    arm64-V8A

    x86_64的

    86

這些是ABI

建立4個apks意味着你可以分別為這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上提出過了。 請檢查這個問題

如果要為應用程序添加視頻呼叫或音頻呼叫功能,則必須添加這些文件。 隨着縮小你的apk大小,有很多關於它的文章,但沒有太多關於jnilibs與quickblox。

Google Developer Docs規模不斷縮小

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM