2016-03-23 15 views
7

私はgradle/Android-Studioビルドにpre-pre-buildシェルスクリプトを追加しようとしています。私はapp/build.gradleに以下を追加しました:メソッドcommandLine()を見つけることができません

task prePreBuild << { 
    commandLine 'ls' 
} 
preBuild.dependsOn prePreBuild 

私は./gradlew assembleDebugと私のビルドを起動すると、私は次のエラーを取得する:

Could not find method commandLine() for arguments [ls] on project ':app' 

私はprintln 'Hello'のようなものでcommandLineラインを交換する場合、それは正常に動作します私は新しい仕事からの成果を見ることができます。

「コマンドラインを見つけることができませんでした」という他の言及を検索して何も見つかりませんでした。このgradleタスクからシェルスクリプトを呼び出す正しい方法は何ですか?

+0

上でより多くの情報を見つけることができますを使用して? – Blackbelt

+0

@Blackbelt './gradlew -v'はGradleを示しています。 –

+0

@Blackbelt私はその変更で同じエラーが発生します:">プロジェクト ':app'の引数[ls]のメソッドexecutable()を見つけることができませんでした。 –

答えて

13

あなたはタスクの種類を示しているかexecブロックを使用する必要があります。

task execute(type: Exec) { 

} 

または

exec { 

} 

あなたは、あなたがたのGradleのバージョンhttps://docs.gradle.org/current/dsl/org.gradle.api.tasks.Exec.html

+1

ありがとう!私の例の最初の行を 'task prePreBuild(type:Exec){'に変更すると問題が解決しました。 –

関連する問題