首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取RxAndroidBLE上的客户端时出错

获取RxAndroidBLE上的客户端时出错
EN

Stack Overflow用户
提问于 2016-08-13 00:28:25
回答 1查看 330关注 0票数 2

我联系不上客户。我正在开始Android开发,所以这可能是一个配置/新手错误,但我尝试/搜索的都不起作用。每次我调用"RxBleClient.create(context);“时,我得到以下错误:

代码语言:javascript
复制
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)

我已经切换到JDK 1.8并在gradle上启用了Jack。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-08-23 02:20:34

我也遇到了同样的问题。正如s_noopy所说,https://github.com/Polidea/RxAndroidBle/issues/33为我解决了这个问题。

问题是Java8lambda不能与RxAndroidBle一起工作。您必须使用retrolambda,因为它与API版本兼容。这就是隐含消息的原因,该消息指出传递了错误的参数。

在您的build.gradle文件中,删除jackOptions闭包(我相信它可以在closure defaultConfig中找到),并使其如下所示:

代码语言:javascript
复制
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'

buildscript {
    repositories {
        mavenCentral()
    }

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

android {

如果它能帮你解决这个问题,请告诉我。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38922648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档