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


首先,我得到了索引异常,在我的应用程序崩溃失效后,请帮忙吗?我附加了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)

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'

}

12841
2018-02-27 10:18


起源

post build.gradle文件 - Harshad
我添加了@Harshad,请检查。 - Guneet Kaur
可能重复 将Android支持库更新到23.2.0导致错误:XmlPullParserException二进制XML文件行#17 <vector>标记需要viewportWidth> 0 - marcinj
所以@MarcinJędrzejewski我应该知道什么,请建议。 - Guneet Kaur


答案:


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

dependencies {

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

compile 'com.android.support:design:23.2.0'
}

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

compile 'com.android.support:design:23.0.1'
}

10
2018-03-14 12:35





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

我变了:

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

至:

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

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

buildToolsVersion "22.0.1"

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

buildToolsVersion "24"

因为之前已经使用SDK Manager下载了。所以检查最新的 Android SDK Build Tools SDK Manager中的版本,看它是否与依赖版本匹配。

希望这有助于某人。


5
2017-09-28 13:59



谢谢@Cletus! - Guneet Kaur
欢迎@GuneetKaur - Cletus Ajibade


根据 Ajinkya (如找到的那样 https://stackoverflow.com/a/35624744),您可以执行以下操作:

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

   //for Gradle Plugin 2.0+  
 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }

如果你正在使用 Gradle 1.5你会改用

defaultConfig {
        generatedDensities = []
    }

    // This is handled for you by the 2.0+ Gradle Plugin
    aaptOptions {
        additionalParameters "--no-version-vectors"
    }

我想可能是他们在下面使用矢量绘图紧凑   其他lib.found 这里

有关详细信息,请访问: 将Android支持库更新到23.2.0导致错误:XmlPullParserException二进制XML文件行#17 <vector>标记需要viewportWidth> 0

对于错误(8.0)

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

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

所以renderscriptSupportMode重命名为renderscriptNdkModeEnabled


0
2018-02-27 10:42



错误:(8,0)无法在ProductFlavor_Decorated上找到属性'vectorDrawables'{name = main,dimension = null,minSdkVersion = null,targetSdkVersion = null,renderscriptTargetApi = null,renderscriptSupportModeEnabled = null,renderscriptNdkModeEnabled = null,versionCode = null,versionName = null,applicationApplicationId = null,testInstrumentationRunner = null,testInstrumentationRunnerArguments = {},testHandleProfiling = null,testFunctionalTest = null,signingConfig = null,resConfig = null,mBuildConfigFields = {},mResValues = {},mProguardFiles = [] ,mConsumerProguardFiles = [],mManifestPlaceholders = {}}。 - Guneet Kaur
必须对错误8.0进行这些更改??? - Guneet Kaur
这里有buildTypes {release {minifyEnabled flase}}。 - Harshad
请非常清楚您从其他地方获得的答案部分。有关详细信息,请参阅 stackoverflow.com/help/referencing。 - Matt


尝试将styles.xml更改为

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>

这是因为如果样式需要ActionBar,则有可能找不到abc_back按钮但没有操作栏问题就解决了


0
2018-06-26 08:59