5

このチケットに関連する注釈プロセッサのパラメータは無効化されており、文書化されていません

とをどのように使用annotation_processorsannotation_processor_depsますか?

サンプルの Android アプリでレルムを使用していて、アノテーション ( @RealmClassおよび@RealmMouduleの場合) がないと、バック経由でビルドするとアプリがクラッシュします (グラドル経由でビルドすると正常に動作します)。

4

1 に答える 1

7

誰かがこれにつまずいた場合のために、 buckbuildで注釈プロセッサを使用する方法は次のとおりです。

  • プロセッサクラスannotation_processorsの不変リストです。これは、 META-INF/services/javax.annotation.processing.Processorファイルで使用されているパッケージ名で識別できます。例: Realm Processor
  • は、アノテーション プロセッサを保持するルール (通常はまたは)annotation_processor_depsの不変リストです。prebuilt_jarandroid_prebuilt_aar

Realm Javaを使用するプロジェクトのバック ビルド ファイルのサンプル

prebuilt_jar(
  name = 'realm',
  binary_jar = 'libs/realm-android-0.82.2.jar'
)

android_library(
  name = 'main-lib',
  srcs = glob(['app/src/main/java/com/yourcompany/project/**/*.java']),
  deps = [
    ':supportv4',
    ':all-jars',
    ':build-config',
    ':res',
  ],
  annotation_processors = ['io.realm.processor.RealmProcessor'],
  annotation_processor_deps = [':realm']
)
于 2015-10-06T11:28:16.487 に答える