问题:
android rxjava 中observable 转型 “incompatible types: object cannot be converted to ……
关于observable转型的问题估计应该不少人遇见了吧,我之前也遇见了。
原因:
项目中使用observable的转型问题是由java version引起的,需要android studio支持java version 8 ,网上解决方案有很多
我最开始也是通过这样的方式解决的,我用的classpath 'me.tatarka:gradle-retrolambda:3.6.0'成功自动转型,但是3.7.0不成功。
最近更新的android studio 那么问题就来了。
同样的处理方式,结果并不能自动转型,当然能否自动转型是跟你的gradle版本也有关系的。我的gradle版本是3.0.1,在做同样配置时androidstudio对我有如下提示:
warning:one of the plugins you are using supports java 8 language features. to try the support built into the android plugin, remove the following from your build.gradle: apply plugin: 'me.tatarka.retrolambda'
从警告上看,希望我移除这个插件,于是我到官网上查看了一下信息:
if android studio detects that your project is using jack, retrolambda, or dexguard, the ide uses java 8 support provided by those tools instead.
如果android studio发现你的工程中使用jack ,retrolambda 或dexguard,编辑器会使用java8支持,替换这个工具。
因此,我将项目中的
compileoptions { targetcompatibility javaversion.version_1_8 sourcecompatibility javaversion.version_1_8 }
apply plugin: 'me.tatarka.retrolambda'
classpath 'me.tatarka:gradle-retrolambda:3.6.0'
全部移除,只保留了这一部分
allprojects { repositories { google() jcenter() maven { url "https://jitpack.io" } } }
如对本文有疑问, 点击进行留言回复!!
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论