I am using AppCompat version 23.4.0 and my build .gradle looks like this:
`apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
signingConfigs {
debug {
storeFile rootProject.file('debug.keystore')
storePassword 'android'
keyAlias 'android'
keyPassword 'android'
}
}
defaultConfig {
applicationId "com.listup.android"
minSdkVersion 15
targetSdkVersion 23
versionCode 33
versionName "1.3.3"
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
}
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
splits {
abi {
enable true
reset()
include 'x86', 'x86_64', 'arm64-v8a', 'armeabi-v7a', 'armeabi'
universalApk true
}
}
project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'arm64-v8a': 3, 'x86': 8, 'x86_64': 9]
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
output.versionCodeOverride =
project.ext.versionCodes.get(output.getFilter(
com.android.build.OutputFile.ABI), 0) * 10000000 + android.defaultConfig.versionCode
}
}
}
task contentProviderGen {
description = 'Generating a ContentProvider and required classes'
doLast {
System.out.println("Generating ContentProvider...")
String schemaFilename = 'cpgen/schema.json';//replace with the path to your schema
String baseOutputDir = 'src/main/java/package/generated';
//if gradle throws an error on the following line, you probably either don't have your import statement set or you have the wrong path in your buildscript definition
ContentProviderGenerator.generateContentProvider(schemaFilename, baseOutputDir);
}
}
buildscript {
repositories {
mavenCentral()
}
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath files('cpgen/cpgen.jar')
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath 'com.canelmas.let:let-plugin:0.1.10'
classpath 'io.fabric.tools:gradle:1.+'
}
}
repositories {
maven {
url "https://jitpack.io"
}
flatDir {
dirs 'libs'
}
maven { url 'https://maven.fabric.io/public' }
}
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'let'
apply plugin: 'io.fabric'
dependencies {
compile 'org.apache.commons:commons-lang3:3.4'
compile 'com.android.support:cardview-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.google.code.gson:gson:2.6.2'
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
compile 'com.squareup.okhttp3:okhttp-urlconnection:3.2.0'
compile 'com.facebook.fresco:fresco:0.10.0'
compile ('com.facebook.android:facebook-android-sdk:4.11.0'){
exclude group: 'com.parse.bolts',
module: 'bolts-android';}
compile 'com.pubnub:pubnub-android:3.7.10'
compile 'com.adjust.sdk:adjust-android:4.6.0'
compile 'com.jakewharton:butterknife:8.0.1'
compile 'com.squareup.okhttp3:logging-interceptor:3.2.0'
compile 'com.google.android.gms:play-services-location:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.viewpagerindicator:library:2.4.1@aar'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.github.amlcurran.showcaseview:library:5.4.3'
compile('com.github.afollestad.material-dialogs:core:0.8.5.7@aar') {
transitive = true
}
compile(name: 'appintro', ext: 'aar')
apt 'com.jakewharton:butterknife-compiler:8.0.1'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.daimajia.easing:library:1.0.1@aar'
compile 'com.daimajia.androidanimations:library:1.1.3@aar'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.github.jd-alexander:library:1.1.0'
compile 'com.github.dmytrodanylyk:android-morphing-button:98a4986e56'
compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
transitive = true;
}
compile 'com.android.support:multidex:1.0.1'
}
apply plugin: 'com.google.gms.google-services'
I am getting this before lollipop:
Caused by android.content.res.Resources$NotFoundException
android.content.res.Resources.loadDrawable (Resources.java:2120)
android.content.res.MiuiResources.loadDrawable (MiuiResources.java:359)
android.content.res.Resources.getDrawable (Resources.java:710)
com.facebook.drawee.generic.GenericDraweeHierarchyInflater.getDrawable (GenericDraweeHierarchyInflater.java:227)
com.facebook.drawee.generic.GenericDraweeHierarchyInflater.updateBuilder (GenericDraweeHierarchyInflater.java:116)
com.facebook.drawee.generic.GenericDraweeHierarchyInflater.inflateBuilder (GenericDraweeHierarchyInflater.java:77)
com.facebook.drawee.view.GenericDraweeView.inflateHierarchy (GenericDraweeView.java:58)
com.facebook.drawee.view.GenericDraweeView.<init> (GenericDraweeView.java:43)
com.facebook.drawee.view.SimpleDraweeView.<init> (SimpleDraweeView.java:60)
java.lang.reflect.Constructor.constructNative (Constructor.java)
java.lang.reflect.Constructor.newInstance (Constructor.java:423)
android.view.LayoutInflater.createView (LayoutInflater.java:597)
android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:699)
android.view.LayoutInflater.rInflate (LayoutInflater.java:758)
android.view.LayoutInflater.rInflate (LayoutInflater.java:761)
android.view.LayoutInflater.rInflate (LayoutInflater.java:761)
android.view.LayoutInflater.inflate (LayoutInflater.java:495)
android.view.LayoutInflater.inflate (LayoutInflater.java:400)
com.listup.android.adapter.BaseRecyclerAdapter.onCreateViewHolder (BaseRecyclerAdapter.java:23)
android.support.v7.widget.RecyclerView$Adapter.createViewHolder (RecyclerView.java:5482)
android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:4707)
android.support.v7.widget.RecyclerView$Recycler.getViewForPosition (RecyclerView.java:4617)
android.support.v7.widget.LayoutState.next (LayoutState.java:100)
android.support.v7.widget.StaggeredGridLayoutManager.fill (StaggeredGridLayoutManager.java:1538)
android.support.v7.widget.StaggeredGridLayoutManager.onLayoutChildren (StaggeredGridLayoutManager.java:657)
android.support.v7.widget.StaggeredGridLayoutManager.onLayoutChildren (StaggeredGridLayoutManager.java:592)
com.listup.android.fragment.ProductListFragment$5.onLayoutChildren (ProductListFragment.java:269)
android.support.v7.widget.RecyclerView.dispatchLayoutStep2 (RecyclerView.java:3028)
android.support.v7.widget.RecyclerView.dispatchLayout (RecyclerView.java:2906)
android.support.v7.widget.RecyclerView.onLayout (RecyclerView.java:3283)
android.view.View.layout (View.java:14845)
android.view.ViewGroup.layout (ViewGroup.java:4631)
android.support.v4.widget.SwipeRefreshLayout.onLayout (SwipeRefreshLayout.java:596)
android.view.View.layout (View.java:14845)
android.view.ViewGroup.layout (ViewGroup.java:4631)
android.widget.FrameLayout.layoutChildren (FrameLayout.java:453)
android.widget.FrameLayout.onLayout (FrameLayout.java:388)
android.view.View.layout (View.java:14845)
android.view.ViewGroup.layout (ViewGroup.java:4631)
android.widget.RelativeLayout.onLayout (RelativeLayout.java:1055)
android.view.View.layout (View.java:14845)
android.view.ViewGroup.layout (ViewGroup.java:4631)
android.support.v4.view.ViewPager.onLayout (ViewPager.java:1695)
android.view.View.layout (View.java:14845)
android.view.ViewGroup.layout (ViewGroup.java:4631)
android.support.design.widget.HeaderScrollingViewBehavior.layoutChild (HeaderScrollingViewBehavior.java:122)
android.support.design.widget.ViewOffsetBehavior.onLayoutChild (ViewOffsetBehavior.java:42)
android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild (AppBarLayout.java:1192)
android.support.design.widget.CoordinatorLayout.onLayout (CoordinatorLayout.java:814)
android.view.View.layout (View.java:14845)
android.view.ViewGroup.layout (ViewGroup.java:4631)
android.widget.FrameLayout.layoutChildren (FrameLayout.java:453)
android.widget.FrameLayout.onLayout (FrameLayout.java:388)
android.view.View.layout (View.java:14845)
android.view.ViewGroup.layout (ViewGroup.java:4631)
android.widget.LinearLayout.setChildFrame (LinearLayout.java:1671)
android.widget.LinearLayout.layoutVertical (LinearLayout.java:1525)
android.widget.LinearLayout.onLayout (LinearLayout.java:1434)
android.view.View.layout (View.java:14845)
android.view.ViewGroup.layout (ViewGroup.java:4631)
android.widget.FrameLayout.layoutChildren (FrameLayout.java:453)
android.widget.FrameLayout.onLayout (FrameLayout.java:388)
android.view.View.layout (View.java:14845)
android.view.ViewGroup.layout (ViewGroup.java:4631)
android.widget.LinearLayout.setChildFrame (LinearLayout.java:1671)
android.widget.LinearLayout.layoutVertical (LinearLayout.java:1525)
android.widget.LinearLayout.onLayout (LinearLayout.java:1434)
android.view.View.layout (View.java:14845)
android.view.ViewGroup.layout (ViewGroup.java:4631)
android.widget.FrameLayout.layoutChildren (FrameLayout.java:453)
android.widget.FrameLayout.onLayout (FrameLayout.java:388)
android.view.View.layout (View.java:14845)
android.view.ViewGroup.layout (ViewGroup.java:4631)
android.view.ViewRootImpl.performLayout (ViewRootImpl.java:2017)
android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:1774)
android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1030)
android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:5639)
android.view.Choreographer$CallbackRecord.run (Choreographer.java:761)
android.view.Choreographer.doCallbacks (Choreographer.java:574)
android.view.Choreographer.doFrame (Choreographer.java:544)
android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:747)
android.os.Handler.handleCallback (Handler.java:733)
android.os.Handler.dispatchMessage (Handler.java:95)
android.os.Looper.loop (Looper.java:136)
android.app.ActivityThread.main (ActivityThread.java:5111)
java.lang.reflect.Method.invokeNative (Method.java)
java.lang.reflect.Method.invoke (Method.java:515)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:806)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:622)
dalvik.system.NativeStart.main (NativeStart.java)
Please take a look at the 2 solutions in #1176.
Well after trying a lot of things. I came to one point. I removed all vector images from xml and set the draweeHierarchy in code.
Also to refer VectorDrawable in code, the ContextCompat.getDrawable() method was throwing the same resource not found exception. So, I used AppCompatDrawableManager.get().getDrawable() method and it worked fine.
I think when setting via xml fresco uses ContextCompat.getDrawable() method.
Well, I think this is an android issue. They mess up things usually in their support libraries.
Most helpful comment
Well after trying a lot of things. I came to one point. I removed all vector images from xml and set the draweeHierarchy in code.
Also to refer VectorDrawable in code, the ContextCompat.getDrawable() method was throwing the same resource not found exception. So, I used AppCompatDrawableManager.get().getDrawable() method and it worked fine.
I think when setting via xml fresco uses ContextCompat.getDrawable() method.
Well, I think this is an android issue. They mess up things usually in their support libraries.