When I clean the android project in android studio, the error happen, I have backed to previous commit or different branch, which works find couple days ago, but has this error now. I have checked this question and there is not large image or strings added for my project. STRING_TOO_LARGE String in Kothlin
-
I am having the same issue after updating a Java project to the latest Gradle version. – stevyhacker Oct 02 '18 at 12:54
-
Does anyone found any solution? – Nikhil Oct 04 '18 at 09:30
-
@Nikhil Not yet, It just works for me.....without doing anything – Xianwei Oct 04 '18 at 16:18
-
@Xianwei Same for me too. it is kind of weird but its working now without doing anything – Nikhil Oct 08 '18 at 07:26
-
I found a solution to examine the apk and should point you to the problem. See my answer below. – Veener Oct 15 '18 at 12:30
-
1for me it was svg file that i used for icon generation in android image asset studio. when i cleared the path of that svg file and made my icon simple the error disappeared. – Abdul Wahid May 19 '20 at 06:21
23 Answers
I had encountered the same and fixed by clear the build cache .

- 1,044
- 1
- 22
- 35
-
-
5[Here is solution in Android Document](https://developer.android.com/studio/build/build-cache#clear_the_build_cache) open android studio , select View > Tool Windows > Terminal from the menu bar and use one of the following commands: (in windows )gradlew cleanBuildCache and (in mac or linux) ./gradlew cleanBuildCache – Pritesh Vishwakarma Nov 14 '18 at 10:57
-
-
@PriteshVishwakarma Task 'cleanBuildCache' not found in root project 'xxx'. – Tamim Attafi Nov 29 '22 at 19:44
I was stuck on this problem and read through this topic and no one provided a future solution. I did NOT want to revert back my Gradle. Therefore, here is the link to the updated dependencies https://github.com/stripe/stripe-android. Look for the "Android Studio (or Gradle)" section and you should see this "implementation 'com.stripe:stripe-android:8.1.0'"
also you might need to add "-keep class com.stripe.android.** { *; }"
if you are enabling minification in your build.gradle file.
Overall Stripe has stopped updating their own "Stripe docs" which can be found here. To give them credit their docs are helpful and should be read at least once, but be mindful that most of the docs are out date when I wrote this...
Hope this helps :)

- 6,092
- 8
- 41
- 78

- 211
- 3
- 5
You can use AAPT (from the android sdk/build-tools) to examine the APK and look for the offending string with the following command line (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'
Which should point you to the culprit. In my case it was:
resource 0x7f0f015a com.example.app:string/eula: t=0x03 d=0x00000f10 (s=0x0008 r=0x00)
(string8) "STRING_TOO_LARGE"

- 4,771
- 2
- 29
- 37
-
1This is the best way how to figure out which string is too long! Thank you. – Vit Veres Jun 25 '19 at 09:42
-
5Nothing appears when I use this command line. Does it mean, it does not come from a string? – Safety Jun 26 '19 at 12:58
-
-
4This is a great solution, however this command didn't work for me, so I just decompiled my apk (use any online decompiler) and then ran: `grep -r "STRING_TOO_LARGE" /decompiled_apk_folder`. In my case it pointed me directly to the problematic SVG file. – Makks129 Mar 03 '20 at 09:35
For the time being, you can downgrade Gradle version to resolve this issue. Use gradle 3.1 version like 3.1.3 below.
classpath 'com.android.tools.build:gradle:3.1.3'

- 1,847
- 2
- 23
- 31
-
4I got this error, when I upgraded gradle from 3.1.3 to 3.2.0, i don't want to use the version below 3.2.0 – Ghizlane Lotfi Nov 19 '18 at 11:11
-
2I always get this error when attempting to add the stripe library "com.stripe:stripe-android:6.1.2" to any project including an empty one. I can sometimes get it go away by deleting the Gradle dirs and resyncing, but downgrading Gradle plugin seems to be the only reliable option to make it go away permanently [Gradle Plugin Versions](https://developer.android.com/studio/releases/gradle-plugin) – Elletlar Dec 07 '18 at 18:32
-
11@Elletlar and anyone who had this problem because of Stripe SDK: Version 6.1.2 of the SDK includes a vector drawable with a very long path. That path is the one generating the error and that's what gets replaced with "STRING_TOO_LARGE". They fixed it in this commit https://github.com/stripe/stripe-android/pull/547 so any version including this fix (7.0.0 upwards) makes the error go away. I'm using 8.1.0 at the time of writing. – Cosmin Radu Dec 11 '18 at 10:30
-
Thanks that is a big help. I followed Stripe's integration guide: [Guide](https://stripe.com/docs/mobile/android). They still advocate to use "implementation 'com.stripe:stripe-android:6.1.2'". I suppose that no one is updating their guide...Regards. – Elletlar Dec 11 '18 at 14:33
-
34
-
3
-
Doesn't work with Android Studio 3.5.2; get error 'ERROR: JAVA_LETTER_OR_DIGIT' – FractalBob Nov 18 '19 at 14:06
-
Of course this was not the solution, just a temporary workaround at the time. – stevyhacker May 06 '20 at 11:52
-
@CosminRadu Having this problem again on 20.15.2 but not sure if it's related – Tamim Attafi Nov 15 '22 at 12:43
-
It happens that I had an SVG too long (90Kb). So I've opened de SVG in Adobe illustrator, simplified the path to a significant number of vector less so the new icon weight 3Kb and, finally, imported again in Android Studio.
You can have a look at your Project in Android Studio and watch if your SVG drawables are larger than needed for an icon.

- 69,473
- 35
- 181
- 253

- 143
- 2
- 9
just use <?xml version="1.0" encoding="utf-8"?>
before in your drawable file.
Example:
<?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>

- 1,037
- 15
- 32
I've been hunting for the source of STRING_TOO_LARGE errors in our build for a long time and none of these solutions worked. The reason none of them worked was that I had progaurd turned on in debug builds so when the string was replaced it didn't end up in the apk. When i disabled progaurd for debug builds, built the apk and then decompiled with apktool as suggested elsewhere
java -jar apktool_2.4.1.jar d debug.apk
and found the xml file that was in another library but progaurd stripped out before:
grep -r "STRING_TOO_LARGE" ./debug
Hope that helps someone

- 4,479
- 1
- 36
- 50
None of the above solutions worked for me. What ended up being the cause of the problem was, as it states, a String that was too large. Specifically, in my arrays.xml file under the values directory, I had some SVG arrays that were used within my app and commenting them out solved the issue.
If you know for certain you have some longer Strings somewhere in your resource directories (/res), check for any large Strings that may be lurking.
Also, this solution may help others but was not linked to in this thread.

- 6,092
- 8
- 41
- 78
I found an SVG file that had a very long pathData
. I commented it out and the error went away. That very same vector (when called) at runtime would cause a crash (before it was commented out).

- 4,833
- 5
- 38
- 68
The issue is caused by the AAPT/AAPT2 (Android Asset Packaging Tool) which processes your app’s resources and replaces them with the STRING_TOO_LARGE
value when it finds a large string.
Find out for which one cause this problem. To find out follow below steps:
A. Best Way:
- Generate build APK
- Decompile APK using any decompiler and download it.
- Open it in any editor(Ex. VS Code)
- Then search "STRING_TOO_LARGE" text globally and you will find affected files.
B. Another Way
- The simplest way to find out, Builds an APK and analyze it. Select Build > Build Bundle(s) / APK(s) > Build APK(s). When the build completes, a confirmation notification appears, providing a link to the APK file and a link to analyze it in the APK Analyzer.
- If you take a look into the the vector drawable file affected by this issue, you will find something like this:
I found this solution from Here

- 363
- 1
- 5
- 9
clear your gradle in windows
gradlew cleanBuildCache
in mac
./gradlew cleanBuildCache
then building you apk if your project has problem it will be show you in the 'Messages' view. location your problem and fix it. run agent.

- 1,584
- 1
- 13
- 24
In my case, i deleted a view from xml but forgot to remove its references in my kotlin code. Make sure to check this before doing anything fancy.

- 638
- 8
- 7
I found the answer from a duplicate question for Kotlin from here
Add <?xml version="1.0" encoding="utf-8"?>
to the top of any resource .xml file that is missing it. (check your layout xml files, specially)

- 1,903
- 2
- 17
- 24
For me "gradlew cleanBuildCache" did not work, and running aapt dump --values resources MyAppName-regular-debug.apk | grep -B 1 'STRING_TOO_LARGE' did nothing either...
I ended up just deleting all my vector images since they were all pretty large and that fixed my build.. So I guess I'll have to add those back in a way that does not throw the error again..

- 121
- 1
- 7
In my case, I had renamed the package and the output-metadata.json
contained the old package name. Renamed the package name there, and it was fixed.

- 853
- 8
- 15
In my case, the problem was due to the following lines in the manifest:
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"/>
Once I deleted them, the build went fine.

- 3,225
- 4
- 29
- 40
In my case I declared a string variable in xml using data binding without assigning a value to it. by setting value to variable problem resolved

- 1,588
- 4
- 22
- 34
Windows 10 Solution
Finding the file with the error: use a online decompiler if it's not a problem is some one else sees your code. Download .zip file. Open up notepad++ search -> Find in files -> STRING_TOO_LARGE -> Find all
.
If the problem file is a vector asset:
Vikasdeep Singh has a great solution: avocado. Avocado will make the vector file smaller.

- 2,109
- 6
- 24
- 46
-
Yep!, in my case one of my vector asset file was "too big" and causing the app to crash. – Manu Nov 05 '20 at 01:37
I had this problem and clearing the cache or updating the Gradle plugin version was not a solution
To solve the problem I had to change the name of the longest XML file to make it a bit shorter, and right after doing that the problem was solved.

- 289
- 2
- 6
Add this to Gradle.properties
org.gradle.unsafe.configuration-cache=true

- 2,455
- 13
- 33
- 37

- 9
- 2
In my case I use Invalidate cache and restore go to file/Invalidate cache and restore
instead of this
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
Replaced it with this in the gradle.properties
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=STRING_TOO_LARGE

- 3,208
- 9
- 22
- 33

- 1
- 1