MyApp build.gradle looks like this
apply plugin: 'holoeverywhere-app'
apply plugin: 'com.android.application'
configurations.all {
resolutionStrategy.failOnVersionConflict()
}
android {
.... blah blah nothing important
}
holoeverywhere {
library {
version = '2.1.0'
}
support {
version = 'inherit'
}
addons {
preferences
}
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':google-play-services_lib')
compile project(':FacebookSDK')
compile('com.android.support:support-v4:21.0.0') { force = true }
}
My dependencies look like this
+--- project :google-play-services_lib
+--- project :CustomLib |
| \--- project :FacebookSDK
| \--- com.android.support:support-v4:21.0.0
| \--- com.android.support:support-annotations:21.0.0
+--- com.android.support:support-v4:21.0.0 (*)
+--- org.holoeverywhere:library:2.1.0
| +--- com.nineoldandroids:library:2.4.0
| \--- com.android.support:support-v4:18.0.3 -> 21.0.0 (*)
\--- org.holoeverywhere:addon-preferences:2.1.0
\--- org.holoeverywhere:library:2.1.0 (*)
The situation is
- MyApp depends on HoloEverywhere but also requires android.support-v4:19.1.0 or higher(v4:21.0.0)
- HoloEverywhere 2.1.0 requires android.support-v4:18.0.3 only (it's the custom version made for HE)
- FacebookSDK requires android.support-v4: any version
The problem is
- If I don't use force = true, the build breaks due to version conflict of v4:18.0.3 & v4:21.0.0
- If I use force = true, HE will then rely on v4:21.0.0 and break at runtime(I dont know an option for HE plugin to force it to use v4:18.0.3)
- I tried manually attaching HE as shown in wiki, but the maven repo url is broken, even the github repo url("https://raw.github.com/Prototik/HoloEverywhere/repo") is broken
Please help me with configuring dependencies, I've already lost 3 days trying to make this work.
As a side question, HE 2.1.0 uses ActionBarCompat instead of ActionBarSherlock, so my MenuItem imports now come from android.view instead of ABS or any other support library, I wonder how it'll work for older devices