Wenn ich das Android-Projekt in Android Studio bereinige, tritt der Fehler auf, ich habe auf den vorherigen Commit oder einen anderen Zweig zurückgegriffen, der vor ein paar Tagen funktioniert, aber jetzt diesen Fehler hat. Ich habe diese Frage überprüft und es wurden keine großen Bilder oder Zeichenfolgen für mein Projekt hinzugefügt. STRING_TOO_LARGE Zeichenfolge in Kothlin
Android Studio mit Java-Compiler-Fehler: Zeichenfolge zu groß, um mit UTF-8 codiert zu werden, stattdessen geschrieben als „STRING_TOO_LARGE“.
Xianwei
Ich war auf das gleiche gestoßen und habe es behoben leeren Sie den Build-Cache .
-
Wie kann ich dies von Android Studio aus tun?
– Muhaiminur Rahman
14. November 2018 um 5:56 Uhr
-
Hier ist die Lösung im Android-Dokument Öffnen Sie Android Studio, wählen Sie View > Tool Windows > Terminal aus der Menüleiste und verwenden Sie einen der folgenden Befehle: (in Windows )gradlew cleanBuildCache und (in Mac oder Linux) ./gradlew cleanBuildCache
– Pritesh Vishwakarma
14. November 2018 um 10:57 Uhr
-
Es ist für mein Problem behoben
– Chivorn
15. August 2019 um 7:55 Uhr
ILMTL
Ich steckte bei diesem Problem fest und las dieses Thema durch, und niemand bot eine zukünftige Lösung. Ich wollte mein Gradle NICHT zurücksetzen. Daher hier der Link zu den aktualisierten Abhängigkeiten https://github.com/stripe/stripe-android. Suchen Sie nach dem Abschnitt „Android Studio (oder Gradle)“ und Sie sollten dies sehen "implementation 'com.stripe:stripe-android:8.1.0'"
auch müssen Sie möglicherweise hinzufügen "-keep class com.stripe.android.** { *; }"
wenn Sie die Verkleinerung in Ihrer build.gradle-Datei aktivieren.
Insgesamt hat Stripe aufgehört, seine eigenen „Stripe-Dokumente“ zu aktualisieren, die gefunden werden können hier. Um ihnen Ehre zu machen, sind ihre Dokumente hilfreich und sollten mindestens einmal gelesen werden, aber denken Sie daran, dass die meisten Dokumente veraltet sind, als ich dies schrieb …
Hoffe das hilft 🙂
-
Perfekte Lösung für meinen Fall
– Umasankar
9. Januar 2019 um 6:21 Uhr
Zurzeit können Sie die Gradle-Version herunterstufen, um dieses Problem zu beheben. Verwenden Sie Gradle 3.1-Version wie 3.1.3 unten.
classpath 'com.android.tools.build:gradle:3.1.3'
-
Ich habe diesen Fehler erhalten, als ich Gradle von 3.1.3 auf 3.2.0 aktualisiert habe, ich möchte die Version unter 3.2.0 nicht verwenden
– Ghizlane Lotfi
19. November 2018 um 11:11 Uhr
-
Ich erhalte immer diesen Fehler, wenn ich versuche, die Stripe-Bibliothek “com.stripe:stripe-android:6.1.2” zu einem beliebigen Projekt hinzuzufügen, einschließlich eines leeren. Manchmal kann ich es wegbekommen, indem ich die Gradle-Verzeichnisse lösche und neu synchronisiere, aber das Herunterstufen des Gradle-Plugins scheint die einzige zuverlässige Option zu sein, um es dauerhaft zu beseitigen Gradle-Plug-in-Versionen
– Elletlar
7. Dezember 2018 um 18:32 Uhr
-
@Elletlar und alle, die dieses Problem wegen Stripe SDK hatten: Version 6.1.2 des SDK enthält einen Vektor, der mit einem sehr langen Pfad gezeichnet werden kann. Dieser Pfad ist derjenige, der den Fehler generiert, und dieser wird durch „STRING_TOO_LARGE“ ersetzt. Sie haben es in diesem Commit behoben github.com/stripe/stripe-android/pull/547 jede Version, die diesen Fix enthält (ab 7.0.0), lässt den Fehler verschwinden. Ich verwende zum Zeitpunkt des Schreibens 8.1.0.
– Cosmin Radu
11. Dezember 2018 um 10:30 Uhr
-
Das ist keine Lösung!
– Dawid Hyży
30. April 2019 um 5:37 Uhr
-
Downgrading scheint mir ein bisschen hacky.
– Robin Hood
5. Mai 2019 um 21:21 Uhr
Sie können AAPT (aus dem Android SDK/Build-Tools) verwenden, um das APK zu untersuchen und mit der folgenden Befehlszeile (Linux) nach der fehlerhaften Zeichenfolge zu suchen:
// Linux/Mac
./aapt dump --values resources MyAppName-regular-debug.apk | grep -B 1 'STRING_TOO_LARGE'
// Windows
aapt dump --values resources MyAppName-regular-debug.apk | grep -B 1 'STRING_TOO_LARGE'
Was Sie auf den Übeltäter hinweisen sollte. In meinem Fall war es:
resource 0x7f0f015a com.example.app:string/eula: t=0x03 d=0x00000f10 (s=0x0008 r=0x00)
(string8) "STRING_TOO_LARGE"
Xaver Caliz
Es kommt vor, dass ich ein zu langes SVG hatte (90Kb). Also habe ich de SVG in Adobe Illustrator geöffnet, den Weg zu einer erheblichen Anzahl von Vektoren vereinfacht, damit das neue Symbol 3Kb wiegt, und schließlich wieder in Android Studio importiert.
Sie können sich Ihr Projekt in Android Studio ansehen und beobachten, ob Ihre SVG-Drawables größer sind als für ein Symbol benötigt.
PGMacDesign
Keine der oben genannten Lösungen hat bei mir funktioniert. Was letztendlich die Ursache des Problems war, war, wie es heißt, ein zu großer String. Genauer gesagt in meiner arrays.xml Datei im Werteverzeichnis hatte ich einige SVG-Arrays, die in meiner App verwendet wurden, und das Auskommentieren löste das Problem.
Wenn Sie sicher wissen, dass Sie irgendwo in Ihren Ressourcenverzeichnissen einige längere Zeichenfolgen haben (/res), suchen Sie nach großen Zeichenfolgen, die möglicherweise lauern.
Diese Lösung kann auch anderen helfen, wurde aber in diesem Thread nicht verlinkt.
Masum
benutz einfach <?xml version="1.0" encoding="utf-8"?>
vorher in Ihrer Drawable-Datei.
Beispiel:
<?xml version="1.0" encoding="utf-8"?>
<vector
android:autoMirrored="true"
android:height="24dp"
android:viewportHeight="490.282"
android:viewportWidth="490.282"
android:width="24dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="#fff"
android:pathData="M0.043,245.197c0.6,10.1 7.3,18.6 17,21.5l179.6,54.3l6.6,123.8c0.3,4.9 3.6,9.2 8.3,10.8c1.3,0.5 2.7,0.7 4,0.7c3.5,0 6.8,-1.4 9.2,-4.1l63.5,-70.3l90,62.3c4,2.8 8.7,4.3 13.6,4.3c11.3,0 21.1,-8 23.5,-19.2l74.7,-380.7c0.9,-4.4 -0.8,-9 -4.2,-11.8c-3.5,-2.9 -8.2,-3.6 -12.4,-1.9l-459,186.8C5.143,225.897 -0.557,235.097 0.043,245.197zM226.043,414.097l-4.1,-78.1l46,31.8L226.043,414.097zM391.443,423.597l-163.8,-113.4l229.7,-222.2L391.443,423.597zM432.143,78.197l-227.1,219.7l-179.4,-54.2L432.143,78.197z"/>
</vector>
Ich habe das gleiche Problem, nachdem ich ein Java-Projekt auf die neueste Gradle-Version aktualisiert habe.
– Stevyhacker
2. Oktober 2018 um 12:54 Uhr
Hat jemand eine Lösung gefunden?
– Nikhil
4. Oktober 2018 um 9:30 Uhr
@Nikhil Noch nicht, es funktioniert einfach für mich … ohne etwas zu tun
– Xianwei
4. Oktober 2018 um 16:18 Uhr
@Xianwei Dasselbe gilt für mich auch. Es ist irgendwie seltsam, aber es funktioniert jetzt, ohne etwas zu tun
– Nikhil
8. Oktober 2018 um 7:26 Uhr
Für mich war es eine SVG-Datei, die ich für die Symbolgenerierung im Android Image Asset Studio verwendet habe. Als ich den Pfad dieser SVG-Datei gelöscht und mein Symbol einfach gemacht habe, ist der Fehler verschwunden.
– Abdul Wahid
19. Mai 2020 um 6:21 Uhr