linphonelinphone-sdk

Core package not found, when building liblinphone 4.0.0 for Android


Before LibLinphone 4.0.0 SDK for Android was out, I was using some random old library of linphone-sdk.aar which I found in some project. Size of .aar is around 15mb and this library works ok and I have options to include files from

org.linphone.tools
org.linphone.core
org.linphone.mediastream

Now I tried to download and update Linphone with

liblinphone-android-sdk.4.0.0.zip

from http://www.linphone.org/technical-corner/liblinphone/downloads

I removed older .aar, and included this one which is present in this zip file, but my project returns errors, because it cannot find package

org.linphone.core

Other 2 packages tools/mediastream are found normally as before.

- Then I tried to build linphone-android from the source files, and after alot of problems I got .aar version, but the problem is the same!

- Then I saw you can download some snapshots of builds from linphone on https://www.linphone.org/snapshots/android/ and found version

liblinphone-android-sdk-3.3.2-54-g115f74d

This version works normally, but the size of .aar is around 80mb!

Questions regarding this problems

  1. Does anyone know why this 4.0.0 SDK version has problems
  2. Do I have to build something else from source files (I was using make liblinphone-android-sdk) for this to work?
  3. Why are some .aar files so different in sizes, does this with 80mb have anymore included than the one that is only 15mb? Which size for latest liblinphone is ok?

Thank you!


Solution

  • I found the issue...

    In 4.0+(probably) they renamed all files which have Linphone in the name, for example

    LinphoneCore -> Core

    also they renamed all Interfaces used, for example

    LinphoneAccountCreator.RequestStatus -> Status (This is replaced with only Status interface, which is included into multiple classes like Call, AccountCreator,.. in this case this is present in AccountCreator class)

    and also enum types like callDirection and even function names

    call.getDirection() == CallDirection.Incoming -> call.getDir() == Call.Dir.Incoming