2016-08-25 9 views
9

Ich habe eine eine Android-App, die korrekt auf 24.0.0 arbeitet - unten sind meine gradle Abhängigkeiten:Ärger ein Upgrade auf neue com.android.support:support-v4:24.2.0 Bibliothek

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') 
} 

Aber ich habe das neueste SDK heruntergeladen und bin an einem Upgrade auf 24.2.0 interessiert. Da ich die Unterstützung Bibliotheken benötigen, habe ich zu den Abhängigkeiten com.android.support:support-v4 wie folgt:

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') 
} 

dies folgende Ausnahme verursacht:

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) 

Habe ich etwas verpasst in der Dokumentation, die ich außerhalb von support-v4 beim Upgrade machen sollte? Das ist meine Referenz: https://developer.android.com/topic/libraries/support-library/features.html#v4

Hinweis: Vor 24.2.0 Bibliothek Revision zur Unterstützung gibt es eine einzige v4 Support-Bibliothek. Diese Bibliothek wurde zur Verbesserung der Effizienz in mehrere Module unterteilt. Aus Gründen der Abwärtskompatibilität enthält Ihr APK alle v4-Module, wenn Sie support-v4 in Ihrem Gradle-Skript auflisten.

Vielen Dank für Ihre Hilfe!

+0

Wenn Sie einen Abhängigkeitsbaum untersuchen, enthält 'com.android.support: design'' 'appcompat-v7', was' support-v4' beinhaltet, Sie sollten also nicht einmal support-v4 als hinzufügen müssen Linie –

+0

Ich bekomme das gleiche Ergebnis beim Unterlassen von Support-v4 – jyelle

+0

Ich habe nicht gesagt, dass es das Problem beheben würde, ich habe einfach darauf hingewiesen, dass das Hinzufügen der Linie nicht notwendig war. –

Antwort

6

Ich bekomme die exakt gleiche Ausnahme nach dem Upgrade auf 24.2.0 Unterstützung Bibliothek revision und Build-Tools 24.0.2 beim Versuch, al zu inflatieren ayout enthält ein TextInputLayout, das keinen EditText enthält.

Wenn ich das TextInputLayout ohne EditText auskommentiere, wird die Ausnahme aufgehoben. Wenn dies nicht möglich ist, würde ich empfehlen, zu der vorherigen Version der Support-Bibliothek zurückzukehren, bis dies behoben ist.

+0

Problem wurde an das Android-Team gemeldet. https://code.google.com/p/android/issues/detail?id=221206 – Veener

+1

Das ist genau das - der Designer hat einige leere TextInputLayouts zum XML hinzugefügt, und sobald ich sie entfernt habe, fing alles wie geplant an. Vielen Dank für Ihre Hilfe! – jyelle

+1

In der Ausgabe habe ich Google berichtet, dass dies in 24.2.1 behoben ist. – Veener

0

Update Android-Sdk Errichten-Tools

24.0.2 

und fügen Sie sie als Modul in buildtools App build.gradle

Versuche & zu reinigen Ihr Projekt neu es vorherige angelegte Abhängigkeiten löschen hilft aus Zwischenspeicher.

Update

App testen in Api24 mit 7.0-Emulator, da Ihr Ziel sdk laufen soll 24 sein kann es Ihnen helfen, aber als min sdk 21 ist so funktioniert das auch auf das auch Emulatoren .
auch folgen Sie diesem Android Studio-> Datei -> Cache invalidieren und Android Studio Invalidate Restart

Neustart
+0

Leider verwende ich Build Tools 24.0.2: compileSdkVersion 24 buildToolsVersion "24.0.2" – jyelle

+1

Post Vollgroß und Code, den Sie ausprobiert haben –

+0

Hatte als Antwort wegen der Zeichengrenze zu posten. – jyelle

0

Es kann sein, dass Sie etwas anderes als ein

android.support.design.widget.TextInputEditText 

mit einem

wickeln
android.support.design.widget.TextInputLayout 
0

Ich traf vor kurzem dieses Problem und fand das Problem nach dem in der Layout-Datei aus dem Standard-Google-Login Beispiel

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

     </android.support.design.widget.TextInputEditText> 

Das war zu sein.

Durch das Entfernen wurde der Nullpointer-Fehler behoben.