1. 程式人生 > >support/v4/animation/AnimatorCompatHelper 找不到

support/v4/animation/AnimatorCompatHelper 找不到

原因:

使用的v4包中沒有這個類,有兩種情況:

1.有多個v4包且版本不一致,執行時使用的其中一個最新版本的v4包不包含這個類;

2.只有一個v4包且此版本中不包含這個類。

 

分析:

高版本v4包中沒有這個類,經檢視原始碼發現supprot-24.2.1中有這個類,而support-26.0.0中沒有,具體臨界版本是多少沒有深入研究

解決方法:

1.如果是第一種情況且知道多個v4包的引入位置,可以將其他庫中的v4包遮蔽:

compile(第三方jar) {
       exclude module: 'support-v4'
}

如果不知道其他v4包的引入位置可使用終極方案,在主module的build.gradle檔案的根節點中加入:

configurations.all {
  resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def requested = details.requested
    if (requested.group == 'com.android.support') {
      if (!requested.name.startsWith("multidex")) {
        details.useVersion '23.4.0'
      }
    }
  }
}

此方法可修改所有引入v4包的版本。

2.第二種情況直接修改唯一的v4包版本到23.4.0就可以了。