1

I am trying to implement SLook feature of Samsung SDK. Device being used for Testing is Samsung Galaxy prime 4G. In spite of toast on error, log shows error line inside Try block, when app launch it get crashed.

The JAR I am using is

-: sdk-v1.0.0.jar
-: look_v1.3.1.jar

Java code initializing Slook which throws error on testing device.

Slook slook = new Slook();
LinearLayout l = (LinearLayout) findViewById(R.id.information);
try {
    slook.initialize(this);
} catch (SsdkUnsupportedException e) {
    //l.addView(createTextView(e.toString()));
    Toast.makeText(ICD.this, e.toString(), Toast.LENGTH_LONG).show();
    return;
}

Complete Stack Trace of Error

 E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.a1technology.android, PID: 25097
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/samsung/android/sdk/look/SlookImpl;
        at com.samsung.android.sdk.look.Slook.isSupportedDevice(Slook.java:160)
        at com.samsung.android.sdk.look.Slook.initialize(Slook.java:137)
        at com.a1technology.android.ICD.onCreate(ICD.java:60)
        at android.app.Activity.performCreate(Activity.java:6178)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2648)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2769)
        at android.app.ActivityThread.access$900(ActivityThread.java:177)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1430)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5910)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.samsung.android.sdk.look.SlookImpl" on path: DexPathList[[zip file "/data/app/com.a1technology.android-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
        at com.samsung.android.sdk.look.Slook.isSupportedDevice(Slook.java:160) 
        at com.samsung.android.sdk.look.Slook.initialize(Slook.java:137) 
        at com.a1technology.android.ICD.onCreate(ICD.java:60) 
        at android.app.Activity.performCreate(Activity.java:6178) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2648) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2769) 
        at android.app.ActivityThread.access$900(ActivityThread.java:177) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1430) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:135) 
        at android.app.ActivityThread.main(ActivityThread.java:5910) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:372) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200) 
        Suppressed: java.lang.ClassNotFoundException: com.samsung.android.sdk.look.SlookImpl
        at java.lang.Class.classForName(Native Method)
        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
                ... 17 more
     Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

App build Gradle:

apply plugin: 'com.android.application'
android {
    compileSdkVersion 21
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "com.a1technology.android"
        minSdkVersion 4
        targetSdkVersion 4
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile files('libs/look_v1.3.1.jar')
    compile files('libs/sdk-v1.0.0.jar')
}
Akash kumar
  • 981
  • 3
  • 14
  • 27

1 Answers1

0

I had the same problem and have fixed it as below:

try { 
    Slook slook = new Slook();           
    slook.initialize(getApplicationContext());
    edgeWidgetSupport = true;   
} catch (SsdkUnsupportedException | NoClassDefFoundError e) {
    edgeWidgetSupport = false;
}

before every calling of Slook methods I check this (edgeWidgetSupport) flag.

Rohan Sanap
  • 2,773
  • 2
  • 21
  • 39
Rahul Sharma
  • 12,515
  • 6
  • 21
  • 30
  • Thankyou for your response, but the code works on real device in my case Samsung Galaxy Note 4. You can also use Test Lab to check the supporting feature. – Akash kumar Aug 10 '16 at 14:50