NoSuchFieldError:クラスLcom / disdemo / R $ idにタイプIの静的フィールドlistView1がありません。またはそのスーパークラス


88

module1(Android Studio内)にlistView1が含まれていますactivity_main.xml(module1のresに存在)。このモジュールのMainActivityは、同じAndroid Studioプロジェクトの別のmodule2から起動されています。

module1を削除して、同じresおよびjavaファイルで新しいものを作成してみました。それでも同じ問題が発生します。


モジュールをsettings.gradleとbuild.gradleに追加しました
Komal Gupta

14
他のモジュールの1つにもactivity_main.xmlレイアウトがあったため、このNoSuchFieldエラーが発生しました。私は自分のモジュールの1つでレイアウトの名前を変更しましたが、うまくいきました。
Komal Gupta 2015

48時間前にあなたのコメントを読んでほしいと思います。2日前からこの問題に悩んでいました。
Mani

2
文字列リソースをあるモジュールから別のモジュールに移動したため、私の場合は少し異なりました。私の場合、Android Studioで[ビルド]> [クリーン]をクリックするだけで問題を解決できました。
Tony Wickham

はい、あなたにとってそれは重複したリソースファイルの問題ではなかったので、クリーン->ビルドは機能しました。
Komal Gupta

回答:


200

ライブラリとモジュールの両方に同じ名前のレイアウトがあるか、リソースIDが重複している複数のXMLレイアウトを膨らませていると思います。


4
はい、まさにその通りでした。私はすぐにそれを理解しましたが、悲しいことに、これには多くの時間が無駄になりました。エラーメッセージが直感的に理解できなかったためです。Android Studioは、より包括的なエラーメッセージのロギングを開始します。
Komal Gupta

6
いいですね!これを承認済みとしてマークする必要があります。これにより、別の人がこのタイプの問題を解決するのに役立ちます。
JosephM '10年

1
ASのrefactor-renameを使用すると、egのすべての出現箇所の名前が変更activity_main.xmlされます。手動で行う方が適切です。
serv-inc

アプリとモジュールに同じ名前の2つのレイアウトがあるため、このエラーが発生しました。ありがとう!
Sandeep Yohans

30

どちらのモジュールにも、activity_main.xml。1つのファイルの名前を変更してください。

更新:@kundan kamalが表現したいことは、両方のモジュールに同じ名前のレイアウトファイルがあることです。


2
これは3時間で無駄になりました:(。あなたは私の日を救います
カルシック・コランジ

8

複数のモジュールを使用しており、任意のxmlレイアウトに同じ名前を付けてから、このエラーを表示するため、xmlレイアウトの名前を変更してください。


ありがとう。
役に立ち


0

この種のエラーは一度発生しましたが、stringリソースが原因でした。文字列を翻訳ファイルで構成しましたが、デフォルトの文字列リソースファイルでは構成しなかったため、クラッシュが発生しました。


0

私を正しくさせてください私が間違っていなければ...あなたのプロジェクトではライブラリとモジュールの名前が同じだと思うので、それらの1つを名前変更する必要があります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.