我通过build.gradle在BuildConfig中添加了一些属性,如下所示
release_prod{
buildConfig "public static final String ENVIRONMENT = \"prod\";"
}
release_dev{
buildConfig "public static final String ENVIRONMENT = \"dev\";"
}
问题是当我从gradle构建时,它工作正常,但是当我在eclipse中编译项目时,我得到错误,因为gen变量在gen BuildConfig中不存在。
我的问题是
答案 0 :(得分:1)
我没有找到让Eclipse生成BuildConfig类的简单方法。
我主要使用Eclipse ADT开发,然后使用Gradle发布不同的风格,所以我提出了以下解决方案:
创建我自己的CustomBuildConfig
类,将其添加到Eclipse构建路径并使用Gradle sourceSets
选择此类的不同版本。
在Project/build.gradle
中,定义一个特定于风味的附加源文件夹:
android {
sourceSets {
release_prod {
java.srcDirs = ['src', 'flavors/prod/src' ]
}
release_dev {
java.srcDirs = ['src', 'flavors/dev/src' ]
}
}
生产环境在Project/flavors/prod/src/CustomBuildConfig.java:
package com.example.project;
public class CustomBuildConfig {
public static final String ENVIRONMENT = "prod";
}
开发环境在Project/flavors/dev/src/CustomBuildConfig.java:
package com.example.project;
public class CustomBuildConfig {
public static final String ENVIRONMENT = "dev";
}
最后在Eclipse中,我只将Project/flavors/dev/src/
添加到构建路径。