![](/img/trans.png)
[英]How can I have two different Gradle versions in a multi-project project?
[英]How can I have separate debug and release versions of gradle project that pull in different versions of the same class?
我有兩個版本的相同 Java class (相同的名稱/方法)。 由於它是 Java,因此兩個.java 文件具有相同的名稱。 我想配置 gradle,這樣我就可以構建應用程序的“調試”版本來拉入其中一個文件,以及構建應用程序的“生產”版本來拉入另一個文件。 我將如何 go 這樣做?
這個 class 只有 static 方法。 我不想創建這個 class 的實例。 我也不想在這個 class 的每個方法中添加if
語句的開銷來檢查我所在的版本。
按照@JFabianMeier 的回答,您可以使用 4 個項目:
您是否嘗試過創建生產和調試源目錄/集? 根據文檔,您可以在源集中指定源目錄時使用多個目錄。 嘗試將 class 的不同版本放到它們各自的生產/調試源目錄中。
我沒有測試過自己(不確定語法),但這是基於 Gradle 的Java 編譯文檔。
sourceSets {
// Could also name this production
main {
java {
srcDirs ['src/main/java', 'src/prod/java']
}
}
debug {
java {
srcDirs ['src/main/java', 'src/debug/java']
}
}
}
您可以執行以下操作:
或者,您可以查看 Velocity 之類的模板引擎,它允許您在構建期間根據變量生成源代碼,然后編譯它。
Android 有一個稱為產品風味的簡潔功能。 它可以讓你在編譯時毫不費力地交換類並保持你的項目干凈。
這個帖子很好去嘗嘗: https://android-developers.googleblog.com/2015/12/leveraging-product-flavors-in-android.html
這是完整的文檔: https://developer.android.com/studio/build/build-variants#product-flavors
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.