Forums: 

I have download official demo and its work fine in seperate project but when i am trying to integrate same in my project i am getting following errors

WARNING: Could not load libgabi++_shared.soWARNING:

Could not load libgnsdk_java_marshal.2.4.1.sojava.lang.

UnsatisfiedLinkError: No implementation found for void com.gracenote.gnsdk.gnsdk_javaJNI.swig_module_init() 

 

Even i have added all .so file in jniLibs folder,

 

Please suggest me what could be the issue.

Hello.

I don't know if you have fix your problem, but if is useful yet, what I did to fix the same problem was:

1. Download the lastest version of GNDK, currently while I type this,is 1.3.1.5172.

2. Extract the files.

3. Once you have extracted the content of zip files, copy the libraries from "gn-mobile-android-1.3.1.5172/preload/" to your corresponding folders in your project, I mean, libs folder to your libs folder, and jniLibs to your jniLibs.

4. Be sure to initialize correctly the API in your code, I did in this way(I did in static method because I initialized the API from splash screen, then I use in my main activity):

    static void initializeAPI(){
        new Thread(new Runnable() {
            @Override
            public void run() {

                //We initialize the necessary objects for using the GNSDK API in a different thread for not blocking the UI
                try {
                    gnManager =  new GnManager(context,gnsdkLicenseString, GnLicenseInputMode.kLicenseInputModeString);
                    gnUser = new GnUser(new GnUserStore(context),gnsdkClientId,gnsdkClientTag,appString);
                    gnLocale = new GnLocale(GnLocaleGroup.kLocaleGroupMusic, GnLanguage.kLanguageSpanish, GnRegion.kRegionGlobal, GnDescriptor.kDescriptorDetailed,gnUser);
                    gnLocale.setGroupDefault();
                    apiInitialized = true;

                    //This handler can update UI, getting the main looper first
                    new Handler(Looper.getMainLooper()).post(new Runnable() {
                        @Override
                        public void run() {
                            Toast toast = Toast.makeText(context,"API de reconocimiento inicializada.",Toast.LENGTH_SHORT);
                            toast.setGravity(Gravity.CENTER,0,0);
                            toast.show();
                        }
                    });

                } catch (GnException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }

5. Clean your project.

6. Finally try to run again your project.

 

Hope this helps.

Forum Discussions