android - 支持库23.2.0导致应用程序崩溃

时间:2016-02-25 04:06:04

标签: android android-support-library android-design-library

我的应用程序适用于支持库23.1.0或23.1.1,但是当我开始使用23.2.0时它会在启动时崩溃。 我使用了五个支持库,但似乎使它崩溃的是这两个:

  

com.android.support:appcompat-v7:23.2.0

     

com.android.support:design:23.2.0

我的Galaxy nexus(API 17)有这个问题,但我的Nexus 7(API 22)没有。 有谁知道可能是什么问题? 这是我的gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.ikarirobotics.aichordfinder"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

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

我的布局只是我放置当前适当片段的框架:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/fragment_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="HomeActivity"
    tools:ignore="MergeRootFrame" />

使用调试器我能够发现当主活动调用setContentView()时发生崩溃:

  

java.lang.reflect.InvocationTargetException

     

java.lang.RuntimeException:无法启动活动ComponentInfo {com.ikarirobotics.aichordfinder / com.ikarirobotics.aichordfinder.HomeActivity}:android.view.InflateException:二进制XML文件行#36:错误膨胀类android.support。 v7.widget.Toolbar

我的活动扩展了AppCompatActivity,我使用了支持操作栏。关于如何解决这个问题的任何想法? :(

5 个答案:

答案 0 :(得分:5)

似乎有一个可绘制的变异错误,因为在23.2.0版本的谷歌上工作。 See the issue here.恢复到23.1.1应该没问题,直到下一个bug修复版发布。

答案 1 :(得分:4)

同样的事情发生在我身上。我部分修复了恢复到23.1.1的支持:design。

答案 2 :(得分:2)

@CesarPim是的,我对CheckBox有同样的问题,虽然我可以通过在drawable文件夹中创建abc_btn_check_material.xml并添加以下行来解决这个问题,但我无法确定它接下来会在哪里破解。您可以在此链接上找到drawables和选择器代码: https://github.com/NativeScript/nativescript-plugin-appcompat/tree/master/platforms/android/appcompat/res/drawable

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/abc_btn_check_to_on_mtrl_015" />
    <item android:drawable="@drawable/abc_btn_check_to_on_mtrl_000" />
</selector>

答案 3 :(得分:1)

Just had the problem myself. A quick update via the SDK Manager seems to have solved the issue.

On a side note, none of my build.gradle dependencies actually used the 23.2.0, but I still received the error. Trying to 'downgrade' to 23.1.1 was not an option for me as I already was using that version.

答案 4 :(得分:1)

正如一些人预测的那样,当我开始使用23.2.1支持库时,问题就消失了。 谢谢大家的支持。