android - 表示されない - appcompatactivity タイトルバー 非表示




Android-内部要素はリソース参照か空でなければなりません (4)

エラー詳細

AGPBI: {"kind":"error","text":"error: \u003citem\u003e inner element must either be a resource reference or empty.","sources":[{"file":"...\\app\\src\\main\\res\\values\\ids.xml","position":{"startLine":2,"startColumn":4,"startOffset":57,"endColumn":61,"endOffset":114}}],"original":"","tool":"AAPT"}
:app:mergeDebugResources
Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
:app:mergeDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details.

リソースファイル

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="tv_deviceName" type="id">tv_deviceName</item>
</resources>

構築環境

  • Android Studio 3.1.4
  • minSdkVersion = 21
  • targetSdkVersion = 28
  • compileSdkVersion = 28
  • buildToolsVersion = "28.0.2"

Android Studio 3.2.1にアップグレードした後も同様の問題がありました

エラーはids.xmlファイルでこの項目を指していました

<item name="mnuActivate" type="id">Activation</item>

ユーザー Sangeet Sureshが 述べたように、私はそれをに変更しました

<item name="mnuActivate" type="id" />

これで問題は解決しました。


あなたのリソースファイルで終了タグとボディを削除します。すなわち、 "tv_deviceName"を削除します。

リソースファイルを次のようにします。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="tv_deviceName" type="id"/>
</resources>

エラー以下

error: <item> inner element must either be a resource reference or empty.

私の場合は、新しいテストプロジェクトを作成してactivity_main.xmlファイルからツールバーとfabを削除しましたが、これらもids.xmlファイルに含まれていました。 ids.xmlファイルから両方のIDを削除した後、実行できました。 ids.xmlファイルにはたくさんのIDがあるかもしれませんが、私が新しいプロジェクトを作成したときには、IDはありません。

上のスクリーンショットでは正確なファイルの場所を見ることができます。


リソースでidを宣言するときは、ボディは空にしてください

<item
    type="id"
    name="id_name" />

詳細については、以下のリンクをご覧ください。

https://developer.android.com/guide/topics/resources/more-resources#Id

だから Oliver Manyasaが 述べたように、それは以下のようになるはずです

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="tv_deviceName" type="id"/>
</resources>




aapt