2016-08-12 18 views
2

クライアントを取得できません。 私はAndroidの開発から始めているので、設定/初心者の間違いかもしれませんが、何も試したり、検索したりしていません。私は、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は私のためにそれを解決しました。

問題はJava 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 { 

はそれがあなたのためにそれを解決するかどうか私に教えてください。

関連する問題