应用程序崩溃,我无法理解它

Gun*_*aur 11 android

首先,我得到了索引异常,在我的应用程序崩溃失效后,请帮忙吗?我附加了logcat和build.gradle文件.它在主要活动中给出错误,尽管代码就在那里.

logcat的:

15793-15793/com.example.user.e_mart E/VdcInflateDelegate? Exception while inflating <vector>
        org.xmlpull.v1.XmlPullParserException: Binary XML file line #17<vector> tag requires viewportWidth > 0
                at android.support.graphics.drawable.VectorDrawableCompat.updateStateFromTypedArray(VectorDrawableCompat.java:535)
                at android.support.graphics.drawable.VectorDrawableCompat.inflate(VectorDrawableCompat.java:472)
                at android.support.graphics.drawable.VectorDrawableCompat.createFromXmlInner(VectorDrawableCompat.java:436)
                at android.support.v7.widget.AppCompatDrawableManager$VdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:829)
                at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:303)
                at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:178)
                at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173)
                at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
                at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
                at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
                at java.lang.reflect.Constructor.constructNative(Native Method)
                at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
                at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:226)
                at android.support.v7.app.AppCompatViewInflater.createViewFromTag(AppCompatViewInflater.java:175)
                at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:146)
                at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:963)
                at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1022)
                at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675)
                at android.view.LayoutInflater.parseInclude(LayoutInflater.java:807)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
                at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
                at com.example.user.e_mart.MainActivity.onCreate(MainActivity.java:20)
                at android.app.Activity.performCreate(Activity.java:5182)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
                at android.app.ActivityThread.access$600(ActivityThread.java:156)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1340)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:153)
                at android.app.ActivityThread.main(ActivityThread.java:5299)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                at dalvik.system.NativeStart.main(Native Method)
    02-27 15:39:33.032  15793-15793/com.example.user.e_mart E/test? Exception
    02-27 15:39:33.036  15793-15793/com.example.user.e_mart E/AndroidRuntime? FATAL EXCEPTION: main
        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.user.e_mart/com.example.user.e_mart.MainActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.v7.widget.Toolbar
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2306)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
                at android.app.ActivityThread.access$600(ActivityThread.java:156)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1340)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:153)
                at android.app.ActivityThread.main(ActivityThread.java:5299)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.v7.widget.Toolbar
                at android.view.LayoutInflater.createView(LayoutInflater.java:613)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
                at android.view.LayoutInflater.parseInclude(LayoutInflater.java:807)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
                at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
                at com.example.user.e_mart.MainActivity.onCreate(MainActivity.java:20)
                at android.app.Activity.performCreate(Activity.java:5182)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
                at android.app.ActivityThread.access$600(ActivityThread.java:156)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1340)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:153)
                at android.app.ActivityThread.main(ActivityThread.java:5299)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: java.lang.reflect.InvocationTargetException
                at java.lang.reflect.Constructor.constructNative(Native Method)
                at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
                at android.view.LayoutInflater.createView(LayoutInflater.java:587)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
                at android.view.LayoutInflater.parseInclude(LayoutInflater.java:807)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
                at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
                at com.example.user.e_mart.MainActivity.onCreate(MainActivity.java:20)
                at android.app.Activity.performCreate(Activity.java:5182)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
                at android.app.ActivityThread.access$600(ActivityThread.java:156)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1340)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:153)
                at android.app.ActivityThread.main(ActivityThread.java:5299)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020016
                at android.content.res.Resources.loadDrawable(Resources.java:1998)
                at android.content.res.Resources.getDrawable(Resources.java:678)
                at android.support.v7.widget.TintResources.superGetDrawable(TintResources.java:48)
                at android.support.v7.widget.AppCompatDrawableManager.onDrawableLoadedFromResources(AppCompatDrawableManager.java:374)
                at android.support.v7.widget.TintResources.getDrawable(TintResources.java:44)
                at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:323)
                at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:180)
                at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173)
                at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
                at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
                at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
                at java.lang.reflect.Constructor.constructNative(Native Method)
                at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
                at android.view.LayoutInflater.createView(LayoutInflater.java:587)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
                at android.view.LayoutInflater.parseInclude(LayoutInflater.java:807)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
                at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
                at com.example.user.e_mart.MainActivity.onCreate(MainActivity.java:20)
                at android.app.Activity.performCreate(Activity.java:5182)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
                at android.app.ActivityThread.access$600(ActivityThread.java:156)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1340)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:153)
                at android.app.ActivityThread.main(ActivityThread.java:5299)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                at dalvik.system.NativeStart.main(Native Method)
         Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #17: invalid drawable tag vector
                at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:920)
                at android.graphics.drawable.Drawable.createFromXml(Drawable.java:852)
                at android.content.res.Resources.loadDrawable(Resources.java:1995)
                at android.content.res.Resources.getDrawable(Resources.java:678)
                at android.support.v7.widget.TintResources.superGetDrawable(TintResources.java:48)
                at android.support.v7.widget.AppCompatDrawableManager.onDrawableLoadedFromResources(AppCompatDrawableManager.java:374)
                at android.support.v7.widget.TintResources.getDrawable(TintResources.java:44)
                at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:323)
                at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:180)
                at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173)
                at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
                at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
                at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
                at java.lang.reflect.Constructor.constructNative(Native Method)
                at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
                at android.view.LayoutInflater.createView(LayoutInflater.java:587)
                at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
                at android.view.LayoutInflater.parseInclude(LayoutInflater.java:807)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:736)
                at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
                at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
                at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
                at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
                at com.example.user.e_mart.MainActivity.onCreate(MainActivity.java:20)
                at android.app.Activity.performCreate(Activity.java:5182)
                at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
                at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
                at android.app.ActivityThread.access$600(ActivityThread.java:156)
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1340)
                at android.os.Handler.dispatchMessage(Handler.java:99)
                at android.os.Looper.loop(Looper.java:153)
                at android.app.ActivityThread.main(ActivityThread.java:5299)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
Run Code Online (Sandbox Code Playgroud)

Gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.example.user.e_mart"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.2.0'
    compile 'com.android.support:design:23.2.0'

}
Run Code Online (Sandbox Code Playgroud)

Abh*_*ick 10

我通过替换修复了这个问题

dependencies {

compile 'com.android.support:appcompat-v7:23.2.0'

compile 'com.android.support:design:23.2.0'
}
Run Code Online (Sandbox Code Playgroud)

dependencies {
compile 'com.android.support:appcompat-v7:23.0.1'

compile 'com.android.support:design:23.0.1'
}
Run Code Online (Sandbox Code Playgroud)


Cle*_*ade 5

在我将Gradle依赖项更新到最新版本但忘记更新项目的buildToolsVersion后,我在Android Studio 2.2中遇到了同样的错误.

我变了:

compile 'com.android.support:appcompat-v7:22.2.1'
Run Code Online (Sandbox Code Playgroud)

至:

compile 'com.android.support:appcompat-v7:24.2.1'
Run Code Online (Sandbox Code Playgroud)

而buildToolsVersion保持在"22.0.1",如下所示:

buildToolsVersion "22.0.1"
Run Code Online (Sandbox Code Playgroud)

所以我所做的就是将buildToolsVersion更新为24,如下所示:

buildToolsVersion "24"
Run Code Online (Sandbox Code Playgroud)

因为之前已经使用SDK Manager下载了.因此,请Android SDK Build Tools从SDK Manager中检查最新版本,看它是否与依赖项版本匹配.

希望这有助于某人.


Har*_*had 0

根据Ajinkya(发现/sf/answers/2493732111/),您可以执行以下操作:

\n
\n

在您的中使用此代码在build.gradle 文件

\n
   //for Gradle Plugin 2.0+  \n android {  \n   defaultConfig {  \n     vectorDrawables.useSupportLibrary = true  \n    }  \n }\n
Run Code Online (Sandbox Code Playgroud)\n

如果您正在使用Gradle 1.5,您\xe2\x80\x99ll 会使用

\n
defaultConfig {\n        generatedDensities = []\n    }\n\n    // This is handled for you by the 2.0+ Gradle Plugin\n    aaptOptions {\n        additionalParameters "--no-version-vectors"\n    }\n
Run Code Online (Sandbox Code Playgroud)\n

我认为他们可能在\nother lib.found下面使用矢量可绘制紧凑型在这里找到

\n
\n

欲了解更多详情,请访问这里: 将 Android 支持库更新到 23.2.0 导致错误:XmlPullParserException 二进制 XML 文件行 #17<vector> 标记需要 viewportWidth > 0

\n

对于错误(8.0)

\n

重命名了一些属性以使事情更加一致:

\n
    \n
  • BuildType.runProguard -> minifyEnabled
  • \n
  • BuildType.zipAlign -> zipAlignEnabled
  • \n
  • BuildType.jniDebugBuild -> jniDebuggable
  • \n
  • BuildType.renderscriptDebug -> renderscriptDebuggable
  • \n
  • ProductFlavor.renderscriptSupportMode ->\nrenderscriptSupportModeEnabled
  • \n
  • ProductFlavor.renderscriptNdkMode -> renderscriptNdkModeEnabled
  • \n
\n

所以 renderscriptSupportMode 重命名为 renderscriptNdkModeEnabled

\n