1

I built a test project to learn how to use toobar in support library.
It's a simple page with an action bar at the top of the page.
MainActivity is extending AppCompatActivity.

I'm using eclipse. Developed in android 6. and when I run it on the android 6 emmulator, it's working fine. but when I try to run the same code on android 5 emmulator, it crashes with following error messages

05-25 23:48:43.289: I/Process(4224): Sending signal. PID: 4224 SIG: 9
05-25 23:48:51.061: D/AndroidRuntime(4266): Shutting down VM
05-25 23:48:51.093: E/AndroidRuntime(4266): FATAL EXCEPTION: main
05-25 23:48:51.093: E/AndroidRuntime(4266): Process: com.beantownloner.babyshoppinglist, PID: 4266
05-25 23:48:51.093: E/AndroidRuntime(4266): java.lang.RuntimeException:Unable to start activity ComponentInfo{com.beantownloner.babyshoppinglist/com.beantownloner.babyshoppinglist.MainActivity}: android.view.InflateException: Binary XML file line #36: Error inflating class android.support.v7.widget.Toolbar
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.app.ActivityThread.access$800(ActivityThread.java:144)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.os.Handler.dispatchMessage(Handler.java:102)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.os.Looper.loop(Looper.java:135)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.app.ActivityThread.main(ActivityThread.java:5221)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at java.lang.reflect.Method.invoke(Native Method)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at java.lang.reflect.Method.invoke(Method.java:372)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
05-25 23:48:51.093: E/AndroidRuntime(4266): Caused by: android.view.InflateException: Binary XML file line #36: Error inflating class android.support.v7.widget.Toolbar
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.view.LayoutInflater.createView(LayoutInflater.java:633)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:394)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:312)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:277)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at com.beantownloner.babyshoppinglist.MainActivity.onCreate(MainActivity.java:17)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.app.Activity.performCreate(Activity.java:5937)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
05-25 23:48:51.093: E/AndroidRuntime(4266):     ... 10 more
05-25 23:48:51.093: E/AndroidRuntime(4266): Caused by: java.lang.reflect.InvocationTargetException
05-25 23:48:51.093: E/AndroidRuntime(4266):     at java.lang.reflect.Constructor.newInstance(Native Method)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.view.LayoutInflater.createView(LayoutInflater.java:607)
05-25 23:48:51.093: E/AndroidRuntime(4266):     ... 24 more
05-25 23:48:51.093: E/AndroidRuntime(4266): Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/graphics/drawable/VectorDrawableCompat;
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.support.v7.widget.AppCompatDrawableManager$VdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:891)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:356)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:197)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:192)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
05-25 23:48:51.093: E/AndroidRuntime(4266):     ... 27 more
05-25 23:48:51.093: E/AndroidRuntime(4266): Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.graphics.drawable.VectorDrawableCompat" on path: DexPathList[[zip file "/data/app/com.beantownloner.babyshoppinglist-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
05-25 23:48:51.093: E/AndroidRuntime(4266):     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
05-25 23:48:51.093: E/AndroidRuntime(4266):     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
05-25 23:48:51.093: E/AndroidRuntime(4266):     ... 34 more
05-25 23:48:51.093: E/AndroidRuntime(4266):     Suppressed: java.lang.ClassNotFoundException: android.support.graphics.drawable.VectorDrawableCompat
05-25 23:48:51.093: E/AndroidRuntime(4266):         at java.lang.Class.classForName(Native Method)
05-25 23:48:51.093: E/AndroidRuntime(4266):         at java.lang.BootClassLoader.find
05-25 23:53:51.711: I/Process(4266): Sending signal. PID: 4266 SIG: 9

Here's my mainactivity.java

package com.beantownloner.babyshoppinglist;
import com.beantownloner.babyshoppinglist.R;
import android.support.v7.app.AppCompatActivity;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

}

I've spent days to set up the support library and use it, but really can't get it working in previous versions of android.

OneCricketeer
  • 179,855
  • 19
  • 132
  • 245
Wull
  • 11
  • 1
  • FWIW, here's the error you should be looking at `ClassNotFoundException: Didn't find class "android.support.graphics.drawable.VectorDrawableCompat" on path` – OneCricketeer May 26 '16 at 04:19
  • Sidenote: You really should migrate from eclipse, but here may be some solutions. http://stackoverflow.com/q/35622438/2308683 – OneCricketeer May 26 '16 at 04:21
  • change your theme to NoActionBar in Styles.xml and implement your Toolbar in separate layout xml file. after implementing file include that in your layout.xml file. you need to setup your toolbar in your java code then after. – Krups May 26 '16 at 04:22

0 Answers0