андроид-студия с ошибкой компилятора Java: слишком строгая строка для кодирования с использованием UTF-8, написанная вместо этого как "STRING_TOO_LARGE"

Когда я очищаю проект андроида в андроид-студии, происходит ошибка, я поддерживал предыдущую фиксацию или другую ветку, которая работает на пару дней назад, но теперь имеет эту ошибку. Я проверил этот вопрос, и для моего проекта не добавлено большого изображения или строк. STRING_TOO_LARGE Строка в Kothlin

Ответы

Ответ 1

В настоящее время вы можете изменить версию Gradle, чтобы решить эту проблему. Используйте версию gradle 3.1, например, 3.1.3.

  classpath 'com.android.tools.build:gradle:3.1.3'

Ответ 2

Я застрял на этой проблеме и прочитал эту тему, и никто не дал будущего решения. Я не хотел возвращать обратно мой Gradle. Поэтому вот ссылка на обновленные зависимости https://github.com/stripe/stripe-android. Найдите раздел "Android Studio (или Gradle)", и вы должны увидеть этот "implementation 'com.stripe:stripe-android:8.1.0'", также вам может понадобиться добавить "-keep class com.stripe.android.** { *; }", если вы включаете минификацию в своем файле build.gradle.

В целом Stripe прекратил обновлять свои собственные "документы Stripe", которые можно найти здесь. Чтобы отдать им должное, их документы полезны и должны быть прочитаны хотя бы один раз, но помните, что большинство документов устарело, когда я написал это...

Надеюсь это поможет :)

Ответ 4

Вы можете использовать AAPT (из инструментов android sdk/build-tools) для проверки APK и поискать строку-нарушитель со следующей командной строкой (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'

Который должен указать вам на виновника. В моем случае это было:

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

Ответ 5

Ни одно из вышеперечисленных решений не помогло мне. Причиной проблемы, как говорится, была слишком большая строка. В частности, в моем файле arrays.xml в каталоге значений у меня было несколько SVG-массивов, которые использовались в моем приложении, и комментирование их решило проблему.

Если вы точно знаете, что в ваших каталогах ресурсов (/res) есть более длинные строки, проверьте наличие больших строк, которые могут скрываться.

Кроме того, это решение может помочь другим, но не было связано в этой теме.

Ответ 6

Я получил эту ошибку в результате добавления: реализация 'com.stripe: stripe-android: 6.1.2'

Я попробовал ответить: gradlew cleanBuildCache

Но это не сработало для меня. Итак, вместо этого: я удалил каталоги gradle и gradlew из проекта

И сделал: Файл → Проект синхронизации с файлами Gradle [Gradle: 4.6]

который разрешил проблему.

Ответ 7

просто используйте <?xml version="1.0" encoding="utf-8"?> до этого в своем файле для рисования.

Пример:

<?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>