android studio with Java compiler error: string too large to encode using UTF-8 written instead as 'STRING_TOO_LARGE'

蹲街弑〆低调 提交于 2019-11-26 18:28:06

问题


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


回答1:


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'



回答2:


I had encountered the same and fixed by clear the build cache .




回答3:


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 :)




回答4:


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"



回答5:


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:


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.




回答7:


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.




回答8:


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>


来源:https://stackoverflow.com/questions/52229987/android-studio-with-java-compiler-error-string-too-large-to-encode-using-utf-8

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!