KakaoWebViewActivity에서 NullPointerException가 발생해요. 1.4.1 버전이에요

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kakaobank.channel/com.kakao.auth.authorization.authcode.KakaoWebViewActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5021)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
at dalvik.system.NativeStart.main(NativeStart.java)
Caused by java.lang.NullPointerException
at com.kakao.auth.authorization.authcode.KakaoWebViewActivity.initUi(KakaoWebViewActivity.java:214)
at com.kakao.auth.authorization.authcode.KakaoWebViewActivity.onCreate(KakaoWebViewActivity.java:107)
at android.app.Activity.performCreate(Activity.java:5425)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5021)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
at dalvik.system.NativeStart.main(NativeStart.java)

i got same problem!!!

@anon81369599 please fix this problem , i got a lot of crashs

크래시가 난 부분 코드가

webView.getSettings().setSaveFormData(KakaoSDK.getAdapter().getSessionConfig().isSaveFormData());

이 부분인데요.혹시 SDK를 초기화할 때 KakaoSDK.init() 메소드에 넘겨주신 KakaoAdapter 클래스의 코드를 붙여주실 수 있나요? getSessionConfig()가 혹시 null을 리턴하는건 아닌가 생각되어서요.

그리고 KakaoSDK.init() 메소드는 Application의 onCreate() 메소드 같이 프로세스가 실행될 때 항상 불리는 것이 보장되는 곳에서 불려야 합니다. SDK에서 로그인되어 있는 상태에서는 백그라운드에서도 이 어뎁터를 사용하거든요. 이 부분도 한번 체크해 보시겠어요?

public class ChApplication extends MultiDexApplication {
@Override
public void onCreate() {

initWithoutDiskReadViolation();

}
}

private void initWithoutDiskReadViolation() {
    ...
    initializeInjector();
    ...
}

protected void initializeInjector() {
    applicationComponent = DaggerApplicationComponent.builder()
            .applicationModule(new ApplicationModule(this))
            .build();
    applicationComponent.inject(this);
}

}

@Singleton
@Component(modules = {

KakaoSdkModule.class,

})
public interface ApplicationComponent {
void inject(ChApplication chApplication);

}

@Module(includes = ActivityLifecycleModule.class)
public class KakaoSdkModule {
@Provides
@Singleton
protected KakaoSdkHelper kakaoSdkHelper(Application application, ActivityLifecycle activityLifecycle) {
KakaoSdkHelper kakaoSdkHelper = new KakaoSdkHelper();
kakaoSdkHelper.initialize(application, activityLifecycle);
return kakaoSdkHelper;
}
}

public class KakaoSdkHelper {
public void initialize(Application application, ActivityLifecycle activityLifecycle) {
try {
KakaoSDK.init(new KakaoSdkAdapter(application));
} catch (KakaoSDK.AlreadyInitializedException ignore) {
}
}

...

private static class KakaoSdkAdapter extends KakaoAdapter {
    private final Application application;

    public KakaoSdkAdapter(Application application) {
        this.application = application;
    }

    /**
     * Session Config에 대해서는 default값들이 존재한다.
     * 필요한 상황에서만 override해서 사용하면 됨.
     *
     * @return Session의 설정값.
     */
    @Override
    public ISessionConfig getSessionConfig() {
        return new ISessionConfig() {
            @Override
            public AuthType[] getAuthTypes() {
                return new AuthType[]{AuthType.KAKAO_TALK};
            }

            @Override
            public boolean isUsingWebviewTimer() {
                return false;
            }

            @Override
            public boolean isSecureMode() {
                return false;
            }

            @Override
            public ApprovalType getApprovalType() {
                return ApprovalType.INDIVIDUAL;
            }

            @Override
            public boolean isSaveFormData() {
                return true;
            }
        };
    }

    @Override
    public IApplicationConfig getApplicationConfig() {
        return new IApplicationConfig() {
            @Override
            public Context getApplicationContext() {
                return application;
            }
        };
    }
}

}

답변부탁합니다.