2014-10-18 16 views
1

我在Android上使用它,但我認爲它可以應用於任何gradle項目。Gradle在源碼中使用一個類作爲包階段的一部分

我有一些文件需要打包在最終歸檔中。 我想要這些文件被加密,然後應用程序將在讀取時解密它們。

我用什麼:

gradle.projectsEvaluated { 
    dexDebug.dependsOn(encryptFiles) 
} 

task encryptFiles<< { 
.... 
} 

我想在encryptFiles使用助手類從來源,像這樣:

decryptedDir.eachFileMatch(p) { File f -> EncryptHelper.encrypt(f, destination) } 

我如何設置classpath中我的任務(encryptFiles )所以我可以在編譯時使用類路徑?

回答

2

我會提取加密和解密代碼到單獨的jar庫,獨立於Android項目。這樣做之後,我會將它用作Gradle構建腳本和Android應用程序中的依賴項。這將是最乾淨的解決方案。

+0

確實,這是一個好主意,它的工作原理。然而,我的加密是一個單獨的類,並且管理一個獨立的項目對我來說似乎有點矯枉過正。我剛剛在build.gradle中複製了加密代碼,直到找到更好的方式。就像說明一樣,我已經嘗試在android項目項目中的模塊中提取代碼,但是這並不起作用,而且,如果設置爲構建類路徑依賴項,則構建將鎖定該jar並且乾淨將失敗。 – gdogaru 2014-10-20 13:31:01

相關問題