2016-05-24 6 views
0

を使用している間android.compileSdkVersion私はjavadocを作成するタスク持って欠落しています。今カスタムプラグインのタスク

Task tCreateJavadocs = addTask(project, 'createJavadocs', Javadoc.class) 
tCreateJavadocs.configure{ 
source = android.sourceSets.main.java.srcDirs 
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) 
failOnError false 
} 

を、私は私が私のすべてのタスクを移動し、結果としてライブラリを作成するカスタムプラグインを持っています私はこの図書館をすべてのプロジェクトに適用することができます。ですから、この作業をカスタムプラグインプロジェクトにも移行したいと思います。 私は以下のようなカスタムプラグインプロジェクト内のタスクを記述します。私は、Android Studioプロジェクトでこれをコンパイルすると

Task tCreateJavadocs = addTask(project, 'createJavadocs', Javadoc.class) 
tCreateJavadocs.configure{ 
source = project.android.sourceSets.main.java.srcDirs 
    classpath += project.files(project.android.getBootClasspath().join(File.pathSeparator)) 
failOnError false 
} 

、私はエラー「原因:android.compileSdkVersionがありません」を取得します。

答えて

2

まだ設定されていないものを使用しようとします。
compileSdkVersionを設定した後でプラグインを適用するか、afterEvaluateでタスクの設定を遅らせて、他の設定が既に完了しているか、可能であればクロージャで問題のある値の評価を遅らせるだけです。

おそらく、最後のオプションが最適です。問題のある行を見つけて、通常は遅延評価されるので、代わりにClosureとしてください。

1

上記の回答で示唆したように、私はこれらを追加しました:

project.android.compileSdkVersion = 'android-23' 
project.android.buildToolsVersion = '23.0.1' 

とプロジェクトは、私がproject.afterEvaluateクロージャ内の私のタスク定義を記述する場合、問題が解決され

0

を構築しています。

関連する問題