无法升级到新的com.android.support:support-v4:24.2.0库

我有一个在24.0.0上正常工作的Android应用程序 – 下面是我的gradle依赖关系:

dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:24.0.0' compile 'com.android.support:design:24.0.0' compile 'com.android.support:cardview-v7:24.0.0' compile 'com.android.support:recyclerview-v7:24.0.0' compile 'com.android.support:palette-v7:24.0.0' compile files('libs/ksoap2-android-assembly-3.6.1-jar-with-dependencies.jar') } 

但是我下载了最新的SDK,有兴趣升级到24.2.0。 因为我需要支持库,所以我添加com.android.support:support-v4到依赖关系如下:

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:support-v4:24.2.0' compile 'com.android.support:appcompat-v7:24.2.0' compile 'com.android.support:design:24.2.0' compile 'com.android.support:cardview-v7:24.2.0' compile 'com.android.support:recyclerview-v7:24.2.0' compile 'com.android.support:palette-v7:24.2.0' compile files('libs/ksoap2-android-assembly-3.6.1-jar-with-dependencies.jar') } 

这会导致以下exception:

  java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable[] android.widget.TextView.getCompoundDrawables()' on a null object reference at android.support.v4.widget.TextViewCompat.getCompoundDrawablesRelative(TextViewCompat.java:285) 

在升级的时候,我是否应该在包括support-v4在内的文档中错过某些东西? 这是我的参考: https : //developer.android.com/topic/libraries/support-library/features.html#v4

注意:在支持库修订版本24.2.0之前,有一个v4支持库。 该库分为多个模块以提高效率。 为了向后兼容,如果您在Gradle脚本中列出了support-v4,则APK将包含所有v4模块。

谢谢你的帮助!

在升级到支持库修订版本24.2.0之后,我会得到完全相同的exception,并且在尝试对包含TextInputLayout(其中没有EditText)的布局进行膨胀时创build工具24.0.2。

如果我注释掉没有EditText的TextInputLayout,exception就会消失。 如果这是不可能的,我build议回滚到以前版本的支持库,直到解决。

更新你的Android Sdk构build工具

 24.0.2 

并在模块应用程序build.gradle中将它们添加为buildtools

尝试清理和重build你的项目,这有助于从caching中清除以前的应用依赖关系。

更新

尝试运行在Api24与7.0模拟器这个应用程序,因为你的目标sdk是24可能会帮助你,但因为你的最小sdk是21,所以这也适用于该模拟器。
也遵循这个Android工作室 – >文件 – >无效caching和重新启动android studio无效重新启动

这可能是你正在包装的东西以外的一个

 android.support.design.widget.TextInputEditText 

与一个

 android.support.design.widget.TextInputLayout 

我最近遇到了这个问题,发现布局文件中的问题如下

  <android.support.design.widget.TextInputEditText android:layout_width="match_parent" android:layout_height="100dp"> </android.support.design.widget.TextInputEditText> 

这是从默认的谷歌login的例子。

删除这个固定的空指针错误。