web-dev-qa-db-fra.com

android studio avec erreur de compilation Java: chaîne trop grande pour être encodée à l'aide de UTF-8 écrit à la place sous la forme 'STRING_TOO_LARGE'

Lorsque je nettoie le projet Android dans le studio Android, l'erreur se produit, j'ai sauvegardé la validation précédente ou une branche différente, ce qui fonctionne quelques jours auparavant, mais cette erreur se produit maintenant. J'ai vérifié cette question et aucune image ni chaîne n'a été ajoutée pour mon projet. STRING_TOO_LARGE String in Kothlin

11
Xianwei

Pour le moment, vous pouvez rétrograder la version de Gradle pour résoudre ce problème ..__ Utilisez la version de Gradle 3.1 telle que 3.1.3 ci-dessous.

  classpath 'com.Android.tools.build:gradle:3.1.3'
14
stevyhacker

J'avais rencontré le même et fixé par effacer le cache de construction .

5
Kalu Khan Luhar

J'ai été bloqué sur ce problème et lu à travers ce sujet et personne n'a fourni une solution future. Je ne voulais PAS revenir en arrière avec mon diplôme. Par conséquent, voici le lien vers les dépendances mises à jour https://github.com/stripe/stripe-Android . Recherchez la section "Android Studio (ou Gradle)" et vous devriez voir cette "implémentation" com.stripe: stripe-Android: 8.1.0 '". Vous devrez peut-être également ajouter" -keep class com.stripe.Android. * * {*;} "si vous activez la minification dans votre fichier build.gradle.

Overall Stripe a cessé de mettre à jour ses propres "documents Stripe" disponibles ici . Leur attribuer des crédits est utile et doit être lu au moins une fois, mais n'oubliez pas que la plupart des documents sont périmés au moment où j'ai écrit ceci ... 

J'espère que cela t'aides :)

3
ILMTL

Vous pouvez utiliser AAPT (à partir du sdk/build-tools Android) pour examiner le fichier APK et rechercher la chaîne incriminée à l'aide de la ligne de commande suivante (Linux):

// 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'

Ce qui devrait vous indiquer le coupable. Dans mon cas c'était:

resource 0x7f0f015a com.example.app:string/eula: t=0x03 d=0x00000f10 (s=0x0008 r=0x00)
      (string8) "STRING_TOO_LARGE"
1
Veener

Aucune des solutions ci-dessus n'a fonctionné pour moi. Ce qui a fini par être la cause du problème était, comme il est écrit, une chaîne trop grande. Plus précisément, dans mon fichier arrays.xml sous le répertoire de valeurs, des tableaux SVG utilisés dans mon application et leur commentaire ont résolu le problème. 

Si vous savez avec certitude que vous avez des chaînes plus longues quelque part dans vos répertoires de ressources (/ res), recherchez les chaînes de grande taille susceptibles de se cacher. 

En outre, cette solution peut aider les autres mais n’était pas liée à ce fil.

0
Silmarilos