我的应用程序适用于支持库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,我使用了支持操作栏。关于如何解决这个问题的任何想法? :(
答案 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支持库时,问题就消失了。 谢谢大家的支持。