web-dev-qa-db-ja.com

STRING_TOO_LARGEコトリンの文字列

プロジェクトでKotlinをサポートするプラグインを追加した後、プロジェクトのstring.xmlファイルから大きな文字列を読み取った後。以下のエラーが表示されます。

エラー:文字列が大きすぎるため、代わりに「STRING_TOO_LARGE」と記述されたUTF-8を使用してエンコードできません。

13
Anil Ugale

これの一般的な原因は、app/build.gradleにストライプがあり、ベクターファイルが32kBより長い文字列として読み取られているように思われることです。

これを解決するには、ストライプバージョンを7.0.0以降に変更します。 Stripeの現在のバージョンは8.1.0です。

4
JJ Du Plessis

これは実際にはKotlinの質問ではなく、ビルドツールに関連しています。これはBuild Tools 27(Gradle 3.1)では発生しませんでしたが、Build Tools 28(Gradle 3.2)にアップグレードした後に発生しました。

ソリューションはここに掲載されています STRING_TOO_LARGE Javaコンパイラエラー

3
Veener

これは、gradleプラグインの問題です。

プラグインを3.3.0-alpha06以降にアップグレードし、gradleを4.9にアップグレードすると機能します。それはアルファなので理想的ではありませんが、問題を修正しました。

不足しているリソース.xmlファイルの先頭に<?xml version="1.0" encoding="utf-8"?>を追加します。

3
Lancelittle

ベクトルリソースを使用する場合、単純に32kbより長い文字列を見つけて分割する必要があります。私の場合は、32kbの基準に合わせて少し単純化した複雑なパスでした。

2
user10433417

コードを見ることなく、潜在的に起こりうる問題を推測する以外に何もすることは困難です。

現在、私たちが見ることができるのは、おそらく文字列が大きすぎてエンコードできないことです。そうしないと、エラーメッセージが表示されません。

その文字列がどのように構築され、なぜ存在するのか...

それは私たちが本当に答えることができない質問です。ウサギの穴を少し掘り下げて解決策を見つけるのに役立つように、質問をもう少し詳しく説明してください。 :)

0
Prince