1. ホーム
  2. android

[解決済み] 署名入りアプリの作成中に「エントリ名 'res/layout/test_toolbar.xml' が衝突しました」というエラーが発生する。

2023-02-17 07:29:42

質問

アンドロイドスタジオを 3.5.x から 3.6 をインストールしたところ、ビルドバリアント用の署名付きapkの生成中にエラーが発生し、次のメッセージが表示されました。 Entry name 'res/layout/test_toolbar.xml' 衝突した 私はプロジェクト全体でこのような名前のレイアウトを持っていません。私は " という名前のカスタムビルドバリアントを持っています。 ステージ "と私は署名されたapkを構築しようとしているときはいつでも、それは常に失敗しています。私はまだどんな解決策も見つけることができません。この問題で私を助けてください。ありがとうございます。

更新しました。 以下のようなメッセージでも同じ問題が発生することがあります(私が見つけたのは AS - 3.6.1 - 4.x.x で時々継続 ). というわけで、この手の未知のメッセージや解決できないメッセージは気にしないでください。今のところ、署名入りapkの生成中に2種類の新しいメッセージを発見しました。

  • Entry name 'kotlin/collections/MapWithDefault.kotlin_metadata' collided
  • Access Denied

結果は同じです。時々、必要な場合は Invalidate Cache and Restart にする必要があるかもしれません。あなたの発見を知らせてください。ありがとうございます

速攻で解決するのは (最も人気のある回答で、私もそう思います)

  1. delete projectFolder↵ delete projectFolder↵debug
  2. delete projectFolder︓release
  3. delete projectFolderappuild
  4. delete projectFolder︓︓debug
  5. delete projectFolder ╱release

というわけで、builds, debug, releaseのディレクトリをすべて削除する必要があります。 debugとreleaseのディレクトリをすべて削除する必要があります。

デバッグおよびリリースディレクトリ全体を削除することはできないかもしれませんが、その中身をすべて削除することは可能であることに注意してください。

どのように解決するのですか?

以下の解決策を読む前に、2020年4月1日からの私の更新を読んでください、問題はより深く、それはにあります。 にあります。 のコードにあります。

今回の3.6アップデート後、同じ問題が発生しました。

fast の解決策は

  1. delete projectFolderbuild
  2. delete projectFolder⇄debug*
  3. delete projectFolder⇄release* (プロジェクトフォルダを削除する
  4. delete projectFolder
  5. delete projectFolder︓︓debug*.
  6. delete projectFolder︓︓release* 。

だから、ビルド、デバッグ、リリースディレクトリをすべて削除する必要があります。

ディレクトリ全体を削除することはできないかもしれないことに注意してください。 デバッグとリリース ディレクトリを削除することはできませんが、その内容をすべて削除することはできます。

UPDATEしてください。

今日、このバグが修正されたようです。

2020年3月3日に更新しました。 残念ながら、不具合は修正されていません。

2020.04.01に更新しました。 (4月1日のジョークではありません。)

今月からAndroid Studioの開発者と仕事をするようになり、今日、私はJREを使う代わりにJDKを使うように言われました。なぜなら、ログにある深いエラーの1つがそう書いてあったからです。

JDKを設定した後 ( ファイル->プロジェクト構造->SDKの場所->JDKの場所 を設定した後、quot;ビルド出力に表示されていない他のエラーが発生したため、次のコマンドを実行しました。 解析 -> コードの検査 を実行したところ 8 のようなエラーが発生しました。レイアウトで間違ったビューIDを参照したり、方向に関するエラー(hiから tools:ignore="MissingDefaultResource" )、およびマニフェストのエラーも方向によって異なります。私は、これは 3.6.1 の新しいアップデートであることを読みました - 縦か横かについて screenOrientation で、Studio がこれを高速に修正しました。 <activity tools:ignore="LockedOrientationActivity" />

Analyze -> Inspect Codeで全てのエラーを修正したところ、JDKを使用して署名付きAPKを生成し、さらにJREを使用して(テスト用)署名付きAPKを生成することに成功しました。

要約すると、このバグの原因は深いエラーであり、それを見つけるには Inspect Code ツールで見つけることができます。

ASはこれをバグとは考えず、コードを改善するための新機能と言うのではないでしょうか。 また、JREの代わりにJDKを設定しなくても、コードを検査するようにした方が良いと思います。

ASサポートからの追加推奨事項です。

をエクスポートするときに、BTW release ビルドを実行するときにも lintVital を実行します。これはいくつかの追加チェックを行い、いくつかのエラーは fatal . このチェックはコストがかかるので debug ビルド