Reputation: 119
Using this code:
package com.example.newsapp;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
private Button mTrueButton;
private Button mFalseButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTrueButton = (Button)findViewById(R.id.true_button);
mTrueButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,
R.string.correct_toast,
Toast.LENGTH_SHORT).show();
}
});
mFalseButton = (Button)findViewById(R.id.true_button);
mFalseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,
R.string.incorret_toast,
Toast.LENGTH_SHORT).show();
}
});
}
@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);
}
}
And this XML:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.newsapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
I got the following error:
12-28 16:10:43.777: I/dalvikvm(13310): Could not find method android.view.ViewGroup.onNestedScrollAccepted, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
12-28 16:10:43.777: W/dalvikvm(13310): VFY: unable to resolve virtual method 11426: Landroid/view/ViewGroup;.onNestedScrollAccepted (Landroid/view/View;Landroid/view/View;I)V
12-28 16:10:43.777: D/dalvikvm(13310): VFY: replacing opcode 0x6f at 0x0000
12-28 16:10:43.777: I/dalvikvm(13310): Could not find method android.view.ViewGroup.onStopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
12-28 16:10:43.777: W/dalvikvm(13310): VFY: unable to resolve virtual method 11432: Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
12-28 16:10:43.777: D/dalvikvm(13310): VFY: replacing opcode 0x6f at 0x0000
12-28 16:10:43.777: I/dalvikvm(13310): Could not find method android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled
12-28 16:10:43.777: W/dalvikvm(13310): VFY: unable to resolve virtual method 9005: Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll ()V
12-28 16:10:43.777: D/dalvikvm(13310): VFY: replacing opcode 0x6e at 0x000e
12-28 16:10:43.787: D/dalvikvm(13310): DexOpt: couldn't find static field Landroid/support/v7/appcompat/R$styleable;.Toolbar_buttonGravity
12-28 16:10:43.787: W/dalvikvm(13310): VFY: unable to resolve static field 3142 (Toolbar_buttonGravity) in Landroid/support/v7/appcompat/R$styleable;
12-28 16:10:43.787: D/dalvikvm(13310): VFY: replacing opcode 0x60 at 0x00aa
12-28 16:10:43.817: I/dalvikvm(13310): Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
12-28 16:10:43.817: W/dalvikvm(13310): VFY: unable to resolve virtual method 364: Landroid/content/res/TypedArray;.getChangingConfigurations ()I
12-28 16:10:43.817: D/dalvikvm(13310): VFY: replacing opcode 0x6e at 0x0002
12-28 16:10:43.817: I/dalvikvm(13310): Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.internal.widget.TintTypedArray.getType
12-28 16:10:43.817: W/dalvikvm(13310): VFY: unable to resolve virtual method 386: Landroid/content/res/TypedArray;.getType (I)I
12-28 16:10:43.817: D/dalvikvm(13310): VFY: replacing opcode 0x6e at 0x0002
12-28 16:10:43.827: D/AndroidRuntime(13310): Shutting down VM
12-28 16:10:43.827: W/dalvikvm(13310): threadid=1: thread exiting with uncaught exception (group=0x418eeda0)
12-28 16:10:43.827: E/AndroidRuntime(13310): FATAL EXCEPTION: main
12-28 16:10:43.827: E/AndroidRuntime(13310): Process: com.example.newsapp, PID: 13310
12-28 16:10:43.827: E/AndroidRuntime(13310): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.newsapp/com.example.newsapp.MainActivity}: android.view.InflateException: Binary XML file line #36: Error inflating class android.support.v7.widget.Toolbar
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2305)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.app.ActivityThread.access$900(ActivityThread.java:161)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.os.Handler.dispatchMessage(Handler.java:102)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.os.Looper.loop(Looper.java:157)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.app.ActivityThread.main(ActivityThread.java:5356)
12-28 16:10:43.827: E/AndroidRuntime(13310): at java.lang.reflect.Method.invokeNative(Native Method)
12-28 16:10:43.827: E/AndroidRuntime(13310): at java.lang.reflect.Method.invoke(Method.java:515)
12-28 16:10:43.827: E/AndroidRuntime(13310): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
12-28 16:10:43.827: E/AndroidRuntime(13310): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
12-28 16:10:43.827: E/AndroidRuntime(13310): at dalvik.system.NativeStart.main(Native Method)
12-28 16:10:43.827: E/AndroidRuntime(13310): Caused by: android.view.InflateException: Binary XML file line #36: Error inflating class android.support.v7.widget.Toolbar
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.view.LayoutInflater.createView(LayoutInflater.java:626)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.view.LayoutInflater.inflate(LayoutInflater.java:354)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.support.v7.app.ActionBarActivityDelegateBase.ensureSubDecor(ActionBarActivityDelegateBase.java:273)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:225)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
12-28 16:10:43.827: E/AndroidRuntime(13310): at com.example.newsapp.MainActivity.onCreate(MainActivity.java:18)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.app.Activity.performCreate(Activity.java:5426)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
12-28 16:10:43.827: E/AndroidRuntime(13310): ... 11 more
12-28 16:10:43.827: E/AndroidRuntime(13310): Caused by: java.lang.reflect.InvocationTargetException
12-28 16:10:43.827: E/AndroidRuntime(13310): at java.lang.reflect.Constructor.constructNative(Native Method)
12-28 16:10:43.827: E/AndroidRuntime(13310): at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.view.LayoutInflater.createView(LayoutInflater.java:600)
12-28 16:10:43.827: E/AndroidRuntime(13310): ... 24 more
12-28 16:10:43.827: E/AndroidRuntime(13310): Caused by: java.lang.NoSuchFieldError: android.support.v7.appcompat.R$styleable.Toolbar_buttonGravity
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.support.v7.widget.Toolbar.<init>(Toolbar.java:203)
12-28 16:10:43.827: E/AndroidRuntime(13310): at android.support.v7.widget.Toolbar.<init>(Toolbar.java:190)
12-28 16:10:43.827: E/AndroidRuntime(13310): ... 27 more
I've searched the web and have found different "solutions", none of which worked for me. Any suggestions? some insight on this log would be appreciated, It just crashed when I try to launch it
Upvotes: 1
Views: 6281
Reputation: 153
1. Import dependency into Maven repo
If you're using maven and the default repository, the appcompat library is out of date. Import the library from your Android SDK manually into your local repo and try again. (The out of date appcompat is 508 KB, the one from Android SDK is 497 KB)
To import the jar (specify correct path to Android SDK):
mvn install:install-file -Dfile=/path/to/sdk/extras/android/compatibility/v7/appcompat/libs/android-support-v7-appcompat.jar -DgroupId=com.google.android -DartifactId=support-v7-appcompat -Dversion=r21 -Dpackaging=jar
And in your pom file add the dependency:
<dependency>
<groupId>com.google.android</groupId>
<artifactId>support-v7-appcompat</artifactId>
<version>r21</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
2. Alternatively look into using the Maven Android SDK Deployer: https://github.com/simpligility/maven-android-sdk-deployer
Upvotes: 1