1. ホーム
  2. android-studio

[解決済み] Android Studioのインラインコンパイラで赤いエラーが表示されるが、gradleでのコンパイルは正常に行われる

2022-04-21 16:50:25

質問

Android Studioで、プロジェクトに スクエアワイヤーライブラリ のように この質問 .

Build -> Compile Project は正常に動作します。

2:03:10 PM Compilation completed successfully in 31 sec

しかし、生成されたProtocol Bufferファイルを開くと、Squareパッケージが認識されないのです。

もう一つの症状は、Squareから継承したメソッドが Message クラスが正常にビルドされ実行されているにもかかわらず、エディターでは "Cannot resolve method" コンパイルエラーとして表示されています。

で依存関係を追加するだけでなく、何かもっと必要なことがあるのでしょうか? build.gradle をプロジェクトで使用することはできますか?

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

free3domのおかげで、正しい道に進むことができました。

診断方法

Sync Project with Gradle Files のオプションは、Android Studio では Project Structure のライブラリが最新の状態になります。

しかし、私の場合、いくつかのエラーが発生しました。

あまり目立たない)リンクを展開すると、詳細がわかりました。 私のwire-runtimeライブラリは、間違った場所に表示されていました。

これは、JARをlibsフォルダにインポートしていた当初の設定の名残のようです。

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

その後、Maven Centralから直接インポートするように変更しました( この通り )、古い設定が新しい設定に上書きされることはなかったようです。

修正方法

修正方法は、ライブラリの依存関係を Project Structure 画面に表示され、その後 Sync Project with Gradle Files をもう一度。

詳細

また、リソースにどのようなパスが使用されているかは .idea/libraries/wire_runtime_1_2_0.xml を直接入力します。

私の壊れたのは

  <component name="libraryTable">
  <library name="wire-runtime-1.2.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/MY_MODULE/libs/wire-runtime-1.2.0.jar!/" />
    </CLASSES>
    <JAVADOC />
    <SOURCES />

ライブラリを削除し、再度追加すると root url に変更します。

      <root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.squareup.wire/wire-runtime/1.2.0/jar/44e7acbd5eb6f29698181dc3d67a60acf7efee80/wire-runtime-1.2.0.jar!/" />

更新情報

Android Studio v0.4.4 他のバグを修正したようです というメッセージが表示されます。