1. ホーム
  2. アンドロイド

バターナイフ依存性ライブラリで使用される属性値が一定でなければならない問題の解決

2022-02-21 15:51:59
<パス

android studioの利用では、通常、よく使うコードや、新しくビルドしたモジュールを、butterknifeの以下の依存関係でライブラリに導入します。

<ブロッククオート

com.jakewharton:butterknife:8.4.0' をコンパイルします。
しかし、このモジュールを使用すると、次のような問題が発生します。


これは、R.id.xxxがライブラリのfinal型でなくなったため、定数でなくなり、定数を渡すためにインジェクションが必要になったからです。

回避策
1. プロジェクトのbuild.gradleに以下を追加します。

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' です。

classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0' です。

そして、モジュールのbuild.gradleに追加します。

プラグインを適用します。'com.neenbedankt.android-apt'を適用します。
プラグインを適用します。'com.jakewharton.butterknife' です。

ライブラリのbuild.gradleが追加されます。

コンパイル 'com.jakewharton:butterknife:8.4.0' を実行します。

そして、私たちのアクティビティで

Rではなく、R2を使いたいので注意してください。