Is here anyway to access gradle ext properties in java code?
这是项目级别
1 2 3 4 5 6 7 8 9 10 11 | buildscript { ext { server_test = 'http://192.618..' server_main ="https://68.5..." another_value ="test" } ext.kotlin_version = '1.3.41' .... .... |
我在我的应用程序级别
有没有办法也可以在我的Java Project文件中访问这些变量!
如果您试图在Java代码中显式访问gradle扩展,则答案是否定的:不可能,请参见:Android-读取类中的build.gradle属性,并查看是否可以在Gradle中声明一个变量 Java的?
在gradle(应用程序级别,而不是根级别)中使用buildConfigFields,您可以:)
1 | buildConfigField"String","variable_name","variable_value" |
作为一个完整的例子:
1 2 3 4 5 6 7 8 9 10 | productFlavors { dev { dimension"your_dimension_name" buildConfigField"String","SERVER_TEST",""http://192.618.."" buildConfigField"String","SERVER_MAIN",""https://68.5..."" buildConfigField"String","ANOTHER_VALUE","test" } |
然后,您可以使用以下命令在整个项目中访问这些变量:
1 | BuildConfig.SERVER_TEST |
看看这个链接,一个更完整的答案,如果这没有帮助:
如何使用String类型生成buildConfigField