[英]Android library is not working with Java 8
由于我在Android Studio 3.0 中切换到Java 8 , ShineButton 库不再在我的项目中工作。
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/animation/Animator$AnimatorListener$$CC;
在我的应用程序中在库的这一部分使用ShineButton
时,我收到此错误。 因为我更新发生到Java 8这个错误,我了解了Java 8的一些类似的错误,我相当肯定,它是因素,这会导致问题。
我很想有一个解决方案,允许库与Java 8 一起使用,因为我喜欢Java 8提供的库和函数。 我不太确定如何解决这个问题,因为我找不到关于NoClassDefFoundError
任何信息以及它与Java 8 的确切关系。
我建立我的项目在Android Studio中3.0加纳利4的Android O和我使用的版本0.1.7
的ShineButton
。
按下ShineButton
并执行其动画时会发生错误。
我已经在 GitHub 上发布了这个,但我没有看到对我自己的甚至更老的问题的任何回应。 最近我也开始向 Android 开发团队提出问题。
在gradle.properties
打开 D8
android.enableD8.desugaring= true
android.enableD8=true
见: https : //jakewharton.com/androids-java-8-support/
或代码如下:
private Animator.AnimatorListener mAnimatorListener = new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation, boolean isReverse) {
}
@Override
public void onAnimationEnd(Animator animation, boolean isReverse) {
}
@Override
public void onAnimationStart(Animator animation) {
}
@Override
public void onAnimationEnd(Animator animation) {
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
关键是覆盖:
@Override
public void onAnimationStart(Animator animation, boolean isReverse) {
}
@Override
public void onAnimationEnd(Animator animation, boolean isReverse) {
}
就像一个小更新。 我的错误在很久以前就已修复。 我认为是Canary 5-6和依赖更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.