web-dev-qa-db-ja.com

Android v3.2でリソースのコンパイルに失敗しました

そこで、Android St​​udioをv3.2に更新しました。プロジェクトをコンパイルしようとすると、ビルドが失敗します。エラーは次のとおりです。

Android resource compilation failed
    Output:  C:\Users\Ashish\AndroidStudioProjects\StartUp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:900: error: <item> inner element must either be a resource reference or empty.

    Command: C:\Users\Ashish\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.0-4818971-windows.jar\7f1fbe9171e916e5044000cd76b749c8\aapt2-3.2.0-4818971-windows\aapt2.exe compile --legacy \
            -o \
            C:\Users\Ashish\AndroidStudioProjects\StartUp\app\build\intermediates\res\merged\debug \
            C:\Users\Ashish\AndroidStudioProjects\StartUp\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
    Daemon:  AAPT2 aapt2-3.2.0-4818971-windows Daemon #0

さらに情報が必要かどうか教えてください。任意の助けをいただければ幸いです。

18
Ashish Yadav

Gradleを3.1.4から3.2.0に更新した後、今日この問題に直面していました。理由はわかりませんが、ビルドstartedが例外をスローします。 buildフォルダーを削除し、gradle cachesフォルダーを削除しましたが、何も機能しなかったため、マージされたvalues.xmlを見て、ids.xmlが間違ったIDを定義していることがわかりましたvalues.xmlにマージされていました:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="downloading_package" type="id">Baixando pacote de sincronização</item>
</resources>

そして明らかに、これは更新前に働いていました...私の場合、ids.xmlファイルを削除しました(プロジェクトでは役に立たなかった)

更新前にすべてが機能していた理由

<item> in values.xml900は、リソースタイプidである可能性があります。

正しい構文は次のとおりです(エラーメッセージが示すとおり)。

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

ドキュメント を参照してください。

4
Martin Zeitler

数分前にこの問題を終えたばかりです。id.xmlを変更または削除してみてください。もしあなたが持っていないと思うなら、アプリの別のモジュールを見つけてください。値リソースを<item name="header_view" type="id">header_view</item>から<item name="header_view" type="id"/>に変更すると、うまくいきました。

2
Arie Ridwan

私も問題を解決しました。値がどこにあるかを見つけ、<item type="id" name="id_name" >id_name</item>から<item type="id" name="id_name" />に更新するだけで大​​丈夫です。

1
Longalei

あなたのビルドgradle(Project:name)でそのようにします

classpath 'com.Android.tools.build:gradle:3.+'

その後、プロジェクトを再構築します。その後、Gradleを4.6から4.10に更新するメッセージが表示されます。

0
Tariq K Alsaidi

これは私のために働いたものです:

build.gradleファイル> dependenciesで、appcompatライブラリの新しいバージョンを実装していました

dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.Android.support:support-v4:21.0.3'
   implementation 'com.Android.support:appcompat-v7:21.0.3'
   implementation 'androidx.appcompat:appcompat:1.0.2'}

//implementation 'androidx.appcompat:appcompat:1.0.2'にコメントした後、うまくいきました。別のライブラリであっても、使用しているバージョンを確認してください。

0
imaginae

私の場合

<?xml version="1.0" encoding="utf-8"?>

xMLで2回繰り返されます。 XMLの先頭にあるファイルごとに1つであることを確認してください。

0
Shylendra Madda