我的gradle文件中包含以下内容:
String packageName = com.test.free
我想在我的java类中使用这个String变量packageName。我使用Android Studio 1.5.1。
有可能吗?如何将此字符串从gradle传输到java?
我在这里已经阅读了类似的问题,但没有一个解决方案有效。
答案 0 :(得分:2)
创建一个gradle任务,将packageName写入java文件,如:
的build.gradle:
task generateGradleValuesJava {
def java =
'public class GradleValues {' +
' public static String packageName = "' + project.packageName+ '";' +
' }' +
'}'
def javaFile = new File('GradleValues.java')
javaFile.write(java)
}
compileJava.dependsOn generateGradleValuesJava
将此文件编译到jar中并使用它:
GradleValues.packageName
答案 1 :(得分:1)
如果该值真的是您的MODULE_LICENSE("Dual BSD/GPL");
MODULE_LICENSE("GPLv2+");
MODULE_LICENSE("GPL");
MODULE_LICENSE("GPLv3+");
MODULE_LICENSE("GPLv3");
,则applicationId
已经可以使用该值。
否则,你可以add your own custom fields to BuildConfig
。这些可以包括动态值:
BuildConfig.APPLICATION_ID