Search code examples
nullpointerexceptionstatic-librarieslinphone

Linphone libraries


Linphone now provides an SDK with a .jar file and three folders with .so libs. How can I work with this files in eclipse? I have tried copying this files into a libs folder and adding jar dependency, but when I first use a libphone object in my code I get a null pointer exception. How can I fix this?

I'm using windows 7 64bits and windows 8

Thanks in advance


Solution

  • Put linphone.jar in libs folder

    ProjectRoot>app>libs>linphone.jar
    

    Put all other folders containing .so files int

    ProjectRoot>app>src>main>jniLibs
    

    and also include these Permissions in your manifest file

        <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
        <uses-permission android:name="android.permission.READ_CONTACTS" />
        <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
        <uses-permission android:name="android.permission.CALL_PHONE" />
        <!-- Needed to allow Linphone to install on tablets, since android.permission.CALL_PHONE implies android.hardware.telephony is required -->
        <uses-feature
            android:name="android.hardware.telephony"
            android:required="false" />
    
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
        <uses-permission android:name="android.permission.VIBRATE" />
        <uses-permission android:name="android.permission.CAMERA" />
        <!-- Needed to allow Linphone to install on tablets, since android.permission.CAMERA implies android.hardware.camera and android.hardware.camera.autofocus are required -->
        <uses-feature
            android:name="android.hardware.camera"
            android:required="false" />
    
        <uses-permission android:name="android.permission.READ_LOGS" />
        <uses-permission android:name="android.permission.READ_PHONE_STATE" />
        <!-- Needed to store received images if the user wants to -->
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <!-- Needed to use our own Contact editor -->
        <uses-permission android:name="android.permission.WRITE_CONTACTS" />
        <!-- Needed to route the audio to the bluetooth headset if available -->
        <uses-permission android:name="android.permission.BLUETOOTH" />
        <uses-permission android:name="android.permission.BROADCAST_STICKY" />
        <!-- Needed to pre fill the wizard email field (only if enabled in custom settings) -->
        <uses-permission android:name="android.permission.GET_ACCOUNTS" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
        <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
        <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
        <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
    

    Now you have done your setup.

    From here to start use linphone documentation

    Linphone's Java Wrapper Documentation

    and for native support

    Liblinphone C API documentation

    To get started i will suggest you start by implementing LinphoneCoreListener