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