首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BuildConfig故障错误“;”预期

BuildConfig故障错误“;”预期
EN

Stack Overflow用户
提问于 2015-04-27 00:55:48
回答 2查看 5.9K关注 0票数 5

我正在导入项目:https://github.com/Kennyc1012/OpenImgur,在收到Imgur客户端ID和API客户端秘密之后,膨胀项目是可以的,但是尝试运行应用程序会注意到错误:

在BuildConfig.java文件中:

代码语言:javascript
复制
public final class BuildConfig {
  public static final boolean DEBUG = Boolean.parseBoolean("true");
  public static final String APPLICATION_ID = "com.kennyc.open.imgur";
  public static final String BUILD_TYPE = "debug";
  public static final String FLAVOR = "";
  public static final int VERSION_CODE = 21;
  public static final String VERSION_NAME = "2.6.2";
  // Fields from default config.
  public static final String API_CLIENT_ID = fd8drdsgdsgsd4;
  public static final String API_CLIENT_SECRET = 5d4f9adab5zdfhfdxzxdfbdbc72a18087ce;
}

我将API客户端ID和客户端秘密放置在build.gradle

代码语言:javascript
复制
buildscript {
    repositories {
        mavenCentral()
        maven { url 'https://maven.fabric.io/public' }

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://dl.bintray.com/kennyc1012/maven' }
    maven { url "http://dl.bintray.com/amulyakhare/maven" }
    mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
    jcenter()
    flatDir {
        dirs 'libs'
    }
}

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2" // 22.0.1

    defaultConfig {
        applicationId "com.kennyc.open.imgur"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 21
        versionName "2.6.2"
        buildConfigField "String", "API_CLIENT_ID", "fd8drdsgdsgsd4"
        buildConfigField "String", "API_CLIENT_SECRET", "5d4f9adab5zdfhfdxzxdfbdbc72a18087ce"
    }

    buildTypes {

        release {
            ext.enableCrashlytics = true
            minifyEnabled false
            manifestPlaceholders = [fabric_key: ""]
        }

        debug {
            ext.enableCrashlytics = false
            minifyEnabled false
            manifestPlaceholders = [fabric_key: ""]
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

然而错误依然存在。如果生成了BuildConfig文件,为什么会发生此错误?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-27 00:58:43

根据您的BuildConfig.java,这些Strings需要有引号:

代码语言:javascript
复制
public static final String API_CLIENT_ID = "fd8drdsgdsgsd4";
public static final String API_CLIENT_SECRET = "5d4f9adab5zdfhfdxzxdfbdbc72a18087ce";

关于Github的最初项目如下:

代码语言:javascript
复制
buildConfigField "String", "API_CLIENT_ID", project.API_CLIENT_ID
buildConfigField "String", "API_CLIENT_SECRET", project.API_CLIENT_SECRET

project.意味着API_CLIENT_IDAPI_CLIENT_SECRETgradle.properties文件中定义。(这不在回购程序中)。

我将创建一个gradle.properties,并将其放在与build.gradle相同的目录中,如下所示:

代码语言:javascript
复制
API_CLIENT_ID = fd8drdsgdsgsd4
API_CLIENT_SECRET = 5d4f9adab5zdfhfdxzxdfbdbc72a18087ce
FABRIC_KEY = some key

该项目的编写只是为了轻松地用您自己的gradle.properties交换变量。

票数 5
EN

Stack Overflow用户

发布于 2018-06-22 05:58:14

尝试添加如下单引号:

代码语言:javascript
复制
buildConfigField "String", "API_CLIENT_ID", '"fd8drdsgdsgsd4"'
buildConfigField "String", "API_CLIENT_SECRET", '"5d4f9adab5zdfhfdxzxdfbdbc72a18087ce"'

添加单引号将在BuildConfig类生成后保持双引号不变

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29885514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档