2013-10-14 36 views
1

我試着將Android項目從Ant遷移到Gradle。有本地代碼,所有來自項目中JNI的Java代碼調用都被自定義的ant目標模糊處理。因此,呼籲爲了Ant目標:重新排序Gradle默認任務

  • 編譯Java代碼
  • 運行proguard的
  • 自定義任務,根據proguard的
  • 原始構建

在之後的mapping.txt修改JNI代碼Gradle我使用JNI構建方法,在那裏描述https://gist.github.com/pboos/5802233#file-ndk-build-gradle。 在搖籃調用順序似乎是:

  • 構建本地
  • 編譯Java代碼
  • 運行proguard的
  • 自定義任務修改

我應該怎麼做,使原始構建會運行AFTER proguard?

換句話說,我需要定義任務,如果它存在,它將在proguard之後執行。

+0

AFAIK,你將永遠需要'不混淆'java本地方法,示例proguard配置與SDK一起'保留'所有java本地方法 – Varun

+0

我知道它,但在項目中有CUSTOM螞蟻任務混淆Java本機方法,我不能扔掉它 – kamiLL

回答

0

不知道我是否正確解釋你的問題,但它聽起來像你只是在尋找依賴關係。

如果buildNative可以customModifications後才運行,然後使用標準的依賴性:

buildNative { 
    dependsOn customModifications 
} 

如果buildNative必須customModifications後運行,但只有如果customModifications要求使用mustRunAfter

buildNative { 
    mustRunAfter customModifications 
}