1

MacでAndroid Studio 1.3.2を使用しています。

Gradle のバージョンは 2.2.1、Android Plugin のバージョンは 1.3.1 としてリストされています。

FindBugs Gradle プラグインを適用し、ディレクトリ 'build/intermediates/classes' で分析を正常に実行するタスクを作成しました。

Gradle Sync でこのタスクをトリガーするために、次のpreBuildように依存関係としてタスクに追加しました。

preBuild.dependsOn findBugs

この依存関係の問題は、preBuild の時点で、生成されたクラス ファイルが存在しない (最初の同期) か、古い (以前の同期から残っている) ことです。基本的に、「build/intermediates/classes」ディレクトリが作成された直後、またはそこにあるファイルが「同期」操作の一部として更新されたときに、タスクを実行したいと考えています

利用可能なタスクを見ると、「クリーン」タスクには次の説明があることがわかります。

clean - Deletes the build directory.

ただし、ディレクトリの作成について説明している他のタスクはありません。最初に思ったのは、「ビルド タスクに違いない」ということでした。残念ながら、いつものように、それはそれほど単純ではありません (「ビルド」タスクへの依存関係として追加したときに、gradle の「同期」ボタンを押してもタスクがトリガーされません)。そのようなタスクは利用できませんか? もしそうなら、どのタスクが私が達成しようとしていることに最も適していますか?

4

1 に答える 1

1

./gradlew tasksを使用してすべてのタスクを表示できます

ビルドタスクがメインです。すべてをビルドし、APK を生成し、すべてのチェックを実行します。

build.gradle ファイルに以下を追加することをお勧めします。

check.dependsOn 'findbugs'

そのため、checkタスクを実行すると、findbugs も実行されます。

次に、コンパイル タスクの findBugs への依存関係も設定します。

task findbugs(type: FindBugs, dependsOn: 'compileDebugSources') {...}

これにより、事前にコンパイルせずに findbugs を実行した場合に備えて、ソースがコンパイルされます。

于 2015-09-04T20:32:27.507 に答える