- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 RxJava,现在我尝试通过提供 lambda 来订阅可观察对象:
observableProvider.stringForKey(CURRENT_DELETED_ID)
.subscribe(str -> this.elementDeleted(str));
问题是,我收到这个有趣的错误:
方法“void elementDeleted(String)”预计为 direct 类型,但结果发现为 virtual 类型(“java.lang.reflect.ArtMethod”的声明出现在/system/framework/中) core-libart.jar)
该函数如下所示:
private elementDeleted(String elemId) {
// removing element from some lists
this.updateView();
}
有帮助的是将函数 elementDeleted(String)
设置为 public,但随后我在调用函数 updateUser
时遇到相同的错误。因此,为了解决这个问题,我必须将从该点调用的所有函数设置为公共(public)。这不可能是解决方案。
即使我尝试提供这样的函数引用:
observableProvider.stringForKey(CURRENT_DELETED_ID)
.subscribe(this::elementDeleted);
没用。我认为它甚至无法与公共(public)功能一起使用。
希望你能帮助我。
编辑这是我的 gradle 文件:
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'dexguard'
android {
buildToolsVersion '24.0.1'
compileSdkVersion 24
defaultConfig {
applicationId "com.myapp.isthebest"
minSdkVersion 21
targetSdkVersion 24
versionCode 380
versionName "0.1.8"
renderscriptTargetApi 18
renderscriptSupportModeEnabled true
vectorDrawables.useSupportLibrary = true
}
buildTypes {
debug {
proguardFile getDefaultDexGuardFile('dexguard-debug.pro')
proguardFile 'proguard-project.pro'
proguardFile 'proguard-project-debug.pro'
ndk {
abiFilters = ['armeabi-v7a', 'x86']
}
jniDebuggable true
}
release {
proguardFile getDefaultDexGuardFile('dexguard-release-aggressive.pro')
proguardFile 'proguard-project.pro'
proguardFile 'proguard-project-release.pro'
signingConfig signingConfigs.release
lintOptions {
disable 'MissingTranslation'
}
ndk {
abiFilters = ['armeabi-v7a']
}
}
beta {
proguardFile getDefaultDexGuardFile('dexguard-release-aggressive.pro')
proguardFile 'proguard-project.pro'
proguardFile 'proguard-project-release.pro'
proguardFile 'proguard-project-beta.pro'
signingConfig signingConfigs.release
lintOptions {
disable 'MissingTranslation'
}
ndk {
abiFilters = ['armeabi-v7a']
}
}
}
dexOptions {
javaMaxHeapSize "4g"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/DEPENDENCIES'
}
dataBinding {
enabled = true
}
testOptions {
unitTests.returnDefaultValues = true
}
lintOptions {
abortOnError false
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:24.1.1'
compile 'com.android.support:design:24.1.1'
compile 'com.android.support:recyclerview-v7:24.1.1'
compile 'com.android.support:cardview-v7:24.1.1'
compile 'com.android.support:support-v4:24.1.1'
compile 'com.android.support:multidex:1.0.1'
compile 'org.functionaljava:functionaljava:4.4'
compile 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar'
compile 'io.reactivex:rxjava:1.1.6'
compile 'com.squareup.picasso:picasso:2.6.0-20161009.170155-29'
compile 'com.appyvet:materialrangebar:1.3'
compile 'com.google.code.gson:gson:2.4'
compile 'commons-codec:commons-codec:1.10'
compile 'commons-io:commons-io:2.4'
compile 'org.apache.commons:commons-collections4:4.1'
compile 'org.apache.commons:commons-lang3:3.4'
compile 'com.amazonaws:aws-android-sdk-core:2.2.20'
compile 'com.amazonaws:aws-android-sdk-cognito:2.2.20'
compile 'com.amazonaws:aws-android-sdk-s3:2.2.20'
compile 'com.amazonaws:aws-android-sdk-ddb:2.2.20'
compile 'com.amazonaws:aws-android-sdk-ddb-mapper:2.2.20'
compile 'net.hockeyapp.android:HockeySDK:4.0.0'
compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'
compile 'us.feras.mdv:markdownview:1.1.0'
compile 'ly.count.android:sdk:16.06.03'
compile 'com.theartofdev.edmodo:android-image-cropper:2.3.1'
compile 'com.nulab-inc:zxcvbn:1.1.4'
compile 'com.neovisionaries:nv-websocket-client:1.30'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.github.pwittchen:reactivenetwork:0.5.2'
testCompile 'com.squareup.retrofit2:retrofit-mock:2.1.0'
testCompile 'junit:junit:4.12'
testCompile 'org.robolectric:robolectric:3.0'
testCompile 'org.mockito:mockito-core:1.9.5'
testCompile 'org.powermock:powermock-module-junit4:1.6.1'
testCompile 'org.powermock:powermock-api-mockito:1.6.1'
provided 'com.google.auto.value:auto-value:1.2'
apt "com.google.auto.value:auto-value:1.2"
apt 'com.ryanharter.auto.value:auto-value-gson:0.4.3'
provided 'com.ryanharter.auto.value:auto-value-gson:0.4.3'
compile 'com.google.dagger:dagger:2.7'
apt "com.google.dagger:dagger-compiler:2.7"
provided 'javax.annotation:jsr250-api:1.0'
compile 'javax.inject:javax.inject:1'
testCompile 'com.google.dagger:dagger:2.7'
testApt "com.google.dagger:dagger-compiler:2.7"
testProvided 'javax.annotation:jsr250-api:1.0'
testCompile 'javax.inject:javax.inject:1'
compile files('libs/dexguard-runtime.jar')
compile ':securekeyboard-runtime:@aar'
}
afterEvaluate {
dexguardRelease.logging.level = 'INFO'
}
最佳答案
我看到你正在为android构建,所以问题可能如下:构建集minSdkVersion 21 - android 5 lollipop AND targetCompatibility for java 8 - 从sdk 24开始受支持(尽管非常有限),从而导致你的构建问题。您可以通过三种方式解决此问题:
1) 为 minSdkVersion 24 构建,目标固定 0.4%设备数量
2) 摆脱 java 8 功能并将源/目标兼容性设置为 java 7
3) 使用 java 8 功能并使用 retrolambda 进行构建(有一些限制,存在于 lib 自述文件中)
关于java - IncompleteClassChangeError ...原本应该是 direct 类型,但结果却发现是 virtual 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41246673/
我在实体中遇到 @Version 的乐观锁问题 没有@Version,所有操作都可以正常工作,但我需要版本控制和锁定。 @NoArgsConstructor @Data @Builder @Equal
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class at java.la
我正在尝试一对一的 JPA 注释。但出现以下错误 Exception in thread "main" java.lang.IncompatibleClassChangeError: class or
我需要修改一个具有多个命名空间的 xml 文档。我的代码在本地计算机上运行没有问题,但当我将其部署到 IBM Websphere 应用程序服务器时遇到 java.lang.IncompleteClas
Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException:
Gwt -> RPC -> MongoDB (Morphia) Caused by: java.lang.IncompatibleClassChangeError: Implementing clas
每次我用 JmsTemplate 发送消息时都会抛出异常。 (我使用Spring 3.0.5.RELEASE)。我找不到不兼容的类! 我的类路径中的 Spring jar: 错误日志: springf
我对 Java 还很陌生,我正在尝试放心地绕过 API 测试。我使用以下 pom 文件尝试了我的代码: 4.0.0 com.yourcompany.restassured
我只是想测试这个小片段: import static spark.Spark.get; public class AppMain { public static void main(Strin
我将 Java 库打包为 JAR,当我尝试从中调用方法时,它会抛出许多 java.lang.IncompleteClassChangeError。这些错误似乎是随机出现的。什么样的问题可能导致此错误?
尝试在 Tomcat 服务器上运行我的应用程序时出现以下错误。看起来我的 jar 里的某个地方有冲突,但我不知道在哪里。你能帮我查一下吗? 感谢您的帮助! 错误: May 28, 2015 4:20:
我有一个类,允许我使用 LDAP 进行身份验证。当我在只有一个类的项目中运行此代码时(出于测试原因),我没有遇到问题,并且它返回一个 boolean 值,正如预期的那样,但是当我在我正在工作的项目中运
我正在尝试在 weblogic 12c 中部署我的遗留应用程序(支持 java 6,7,8),但每次它显示 java.lang.InknownClassChangeError: Implementin
HTTP Status 500 - Handler processing failed; nested exception is java.lang.IncompatibleClassChangeEr
将依赖项更新到最新版本后,由于缺少接口(interface)实现,我们在发布版本中遇到了运行时崩溃 java.lang.IncompatibleClassChangeError: Class 'com
我们在运行 openjdk 版本“1.8.0_201”的 RedHat Linux 环境中的 tomcat 8 上进行 SOAP 客户端调用时遇到问题,而相同的调用在 Windows 计算机(tomc
我正在使用 RxJava,现在我尝试通过提供 lambda 来订阅可观察对象: observableProvider.stringForKey(CURRENT_DELETED_ID) .sub
我尝试通过 Java 将 Titan 与 HBase 结合使用,并收到此错误: Exception in thread "main" java.lang.IncompatibleClassChange
我尝试在 IntelliJ Ultimate 2018.3.6 中使用 HtmlUnit 和以下 Java 代码 public static void main(String[] args) {
我正在解决 ReSTLet 应用程序问题,并认为建立一个包含要测试的应用程序精简版本的 Github 存储库会很棒。然而,事情从来没有那么容易...... 存储库位于:https://github.c
我是一名优秀的程序员,十分优秀!