2016-08-12 3 views
2

클라이언트를 가져올 수 없습니다. 안드로이드 개발에서 시작하고 있습니다. 어쩌면 config/newbie 실수 일 수도 있습니다 만, 나는 아무것도 시도/검색하지 않았습니다. 내가 JDK 1.8으로 전환하고 Gradle을에 잭을 사용하도록 설정 한RxAndroidBLE에서 클라이언트를 가져 오는 중 오류가 발생했습니다.

FATAL EXCEPTION: Thread-34217 
Process: es.ralcaidev.arduinobt, PID: 15488 
java.lang.IncompatibleClassChangeError: The method 
'void com.polidea.rxandroidble.internal.radio.RxBleRadioImpl.com_polidea_rxandroidble_internal_radio_RxBleRadioImpl_lambda$new$0()' 
was expected to be of type direct but instead was found to be of type virtual 
(declaration of 'com.polidea.rxandroidble.internal.radio.RxBleRadioImpl' 
appears in /data/app/es.ralcaidev.arduinobt-2/base.apk) 
at com.polidea.rxandroidble.internal.radio.RxBleRadioImpl.access$lambda$0(Unknown) 
at com.polidea.rxandroidble.internal.radio.RxBleRadioImpl$$Lambda$1.run(Unknown) 
at java.lang.Thread.run(Thread.java:818) 

:; 내가 전화 할 때마다 "RxBleClient.create (컨텍스트)", 나는 다음과 같은 오류가 발생합니다.

아이디어가 있으십니까?

+0

이 항목을 발견하지 못했습니다. 누군가 비슷한 문제가 있습니다. https://github.com/Polidea/RxAndroidBle/issues/33 Retrolambda를 추가하면 도움이 될까요? –

+0

'build.gradle' 파일을 포함시킬 수 있습니까? 프로젝트의 설정에 문제가있는 것으로 보입니다. –

답변

2

나는 똑같은 문제가있었습니다. s_noopy가 말했듯이, https://github.com/Polidea/RxAndroidBle/issues/33이 해결해주었습니다.

문제는 자바 8 람다가 RxAndroidBle에서 작동하지 않는다는 것입니다. 호환 가능한 API 버전으로 인해 retrolambda를 사용해야합니다. 이것이 잘못된 매개 변수가 전달되었다는 암호 메시지의 이유입니다. 당신의 build.gradle 파일에서

의 jackOptions 폐쇄 (나는 그것이 폐쇄 defaultConfig에서 발견되는 생각)을 제거하고 다음과 같이합니다

apply plugin: 'com.android.application' 
apply plugin: 'me.tatarka.retrolambda' 

buildscript { 
    repositories { 
     mavenCentral() 
    } 

    dependencies { 
     classpath 'me.tatarka:gradle-retrolambda:3.2.5' 
    } 
} 

android { 

는 당신을 위해 그것을 해결되는지 알려주세요.

관련 문제