把Android Studio的targetSDK从25升级到27,并把各module的compile改为api后,还有一处报错,提示cannot resolve “support/v4/animation/AnimatorCompatHelper”.
后来在StackOverflow上有人遇到相同的问题,在build.app中最后添加如下代码就可以编译通过了,并没搞懂为什么:
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '24.1.0'
}
}
}
}
上面这段gradle代码的意思是把support包将为24.1.0。因为在26.0.0及以上,android把AnimatorCompatHelper这个类移除了,所以sdk从25升级为27以后自然无法编译通过。解决办法:把clearInterpolator(view)替换成一下代码:
TimeInterpolator mDefaultInterpolator = new ValueAnimator().getInterpolator();
view.animate().setInterpolator(mDefaultInterpolator);