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.