2016-05-01 3 views
0

build.gradlegradleプラグインによる設定を変更するには?

apply plugin: 'com.android.application' 

android { 
    defaultConfig { 
     applicationId propAppcationId 
    } 
} 

私のプラグイン:

public class AudioMaterialAppConstructorPlugin implements Plugin<Project> { 
    @Override 
    public void apply(Project project) { 
     Task constructAudioMaterialApp = project 
       .getTasks() 
       .create("constructAudioMaterialApp", ConstructAudioMaterialAppTask.class); 
     project.getTasks().getByName("preBuild").dependsOn(constructAudioMaterialApp); 
    } 
} 

マイカスタムタスク:

public class ConstructAudioMaterialAppTask extends DefaultTask { 

    @TaskAction 
    public void constructAudioMaterialApp() { 
     getProject().setProperty("propAppcationId", "demo.project.id"); 
    } 

} 

私はbuild taskapplicationIdを変更したいです。あなたが見ることができるように、私は不動産を介してそれをしようとしましたが、それはうまくいきません。このケースをどうすれば管理できますか?

答えて

1

コンフィギュレーションフェーズ中にconfigが解決され、実行フェーズ(after)中にタスクが実行されるため、動作しません。

プラグインを適用する方法でプロパティを追加することもできます。私はそれもタスクコンストラクタで動作するはずだと思うが、私は100%確実ではない。

+1

ありがとうございました!私はプラグインの 'apply'メソッドを使いました。' @Override public void apply(プロジェクトプロジェクト){ project.setProperty( "propAppcationId"、 "demo.project.id"); } ' – Alexandr

関連する問題