【发布时间】:2015-08-28 01:52:06
【问题描述】:
在我的Android Studio 项目中,有两个build configuration 和一些buildConfigField:
buildTypes {
def SERVER_URL = "SERVER_URL"
def APP_VERSION = "APP_VERSION"
debug {
buildConfigField "String", SERVER_URL, "http://dev.myserver.com"
buildConfigField "String", APP_VERSION, "0.0.1"
}
release {
buildConfigField "String", SERVER_URL, "https://myserver.com"
buildConfigField "String", APP_VERSION, "0.0.1"
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
我得到如下错误:
/path/to/generated/BuildConfig.java
Error:(14, 47) error: ';' expected
Error:(15, 47) error: ';' expected
生成的BuildConfig.java如下:
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "com.mycuteoffice.mcoapp";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "1.0";
// Fields from build type: debug
public static final String APP_VERSION = 0.0.1;
public static final String SERVER_URL = http://dev.mycuteoffice.com;
}
我认为APP_VERSION 和SERVER_URL 没有正确生成,因为它们是没有引号的字符串类型。
我不确定为什么会以这种方式生成它。请让我知道如何解决此问题。
【问题讨论】:
-
只需在带有双引号的值周围添加单引号:
buildConfigField "String", APP_VERSION, ' "0.0.1" '(当然没有空格) -
stackoverflow.com/a/65624195/3970630 可以在你的 gradle 文件中定义:)
标签: android android-gradle-plugin