Android Resources$NotFoundException from drawable resource for older phones API 18
<p>I'm running into the following error only when testing on a Samsung Galaxy Nexus phone with Android 4.3 and API 18. </p>

<pre><code>Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_error.xml
 from drawable resource ID #0x7f020098
    at android.content.res.Resources.loadDrawable(Resources.java:2091)
    at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
    at android.widget.TextView.&lt;init&gt;(TextView.java:803)
    at android.widget.EditText.&lt;init&gt;(EditText.java:60)
</code></pre>

<p>In my Acitivty.java file, I've tried using the following methods to set my vector drawable:</p>

<pre><code>editTextNickname.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_error, 0);
editTextNickname.setCompoundDrawables(null, null,
    ContextCompat.getDrawable(getApplicationContext(), R.drawable.ic_error), null);
</code></pre>

<p>I'm using the latest support libraries in my build.gradle file, as shown below:</p>

<pre><code>apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.android.application'

android {
  compileSdkVersion 24
  buildToolsVersion "23.0.3"

defaultConfig {
  applicationId "com.peprally.jeremy.peprally"
  minSdkVersion 16
  targetSdkVersion 24
  versionCode 1
  versionName "1.0"
  vectorDrawables.useSupportLibrary = true
}
buildTypes {
  release {
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  }
  debug {
    debuggable true
  }
}

repositories {
  mavenCentral()
}

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.android.support:appcompat-v7:24.1.1'
  compile 'com.android.support:design:24.1.1'
  compile 'com.android.support:cardview-v7:24.1.1'
  compile 'com.android.support:support-v4:24.1.1'
  compile 'com.android.support:support-vector-drawable:24.1.1'
  compile 'com.facebook.android:facebook-android-sdk:4.6.0'
  compile 'com.google.android.gms:play-services-appindexing:9.2.1'
  compile 'com.google.firebase:firebase-core:9.2.1'
  compile 'com.google.firebase:firebase-messaging:9.2.1'
  compile 'com.amazonaws:aws-android-sdk-core:2.+'
  compile 'com.amazonaws:aws-android-sdk-cognito:2.+'
  compile 'com.amazonaws:aws-android-sdk-s3:2.+'
  compile 'com.amazonaws:aws-android-sdk-ddb:2.+'
  compile 'com.amazonaws:aws-android-sdk-ddb-mapper:2.+'
  compile 'com.squareup.picasso:picasso:2.5.2'
  compile 'com.android.volley:volley:1.0.0'
  compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha1'
  testCompile 'junit:junit:4.12'
}

apply plugin: 'com.google.gms.google-services'
</code></pre>

<p>I've seen similar problems being posted on StackOverflow but no good solutions yet. If anyone has any insights, please help! Thanks!</p>

<p>&lt;--EDIT--></p>

<p>After ignoring the issue and coming back to it, I found a solid solution to get around the VectorDrawable not supported issue. On top of what was suggested, you can create VectorDrawables using the code below:</p>

<pre><code>public static Drawable getAPICompatVectorDrawable(Context callingContext, int resource_id) {
  if (android.os.Build.VERSION.SDK_INT &gt;= 21) {
    return ContextCompat.getDrawable(callingContext.getApplicationContext(), resource_id);
  } else {
    return VectorDrawableCompat.create(
        callingContext.getResources(),
        resource_id,
        callingContext.getTheme());
  }
}
</code></pre>

<p>I also had issues trying to put vector drawables directly into xml files. And I couldn't find a way to get around that so I eventually just took them out of my xml files and injected them programmatically in java using the same function as above. The error I got from using vector drawables inside my xml is shown below, if anyone has a better solution, I would love to hear it!</p>

<pre><code>java.lang.RuntimeException: Unable to start activity ComponentInfo{com.
  peprally.jeremy.peprally/com.peprally.jeremy.peprally.activities.
  NewCommentActivity}:
android.view.InflateException: Binary XML file line #90: Error inflating class TextView
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
    at android.app.ActivityThread.access$600(ActivityThread.java:141)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5103)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:525)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #90:
  Error inflating class TextView
</code></pre>