无法解析符号 c882c94be45fff9d16a1cf845fc16ec5
Cannot resolve symbol c882c94be45fff9d16a1cf845fc16ec5
我是一名探索 Android 世界的新开发者。我目前正在研究创建 Sunshine 应用程序的 Udacity 教程。在 activity class 片段中,为了从 openweathermap 获取数据,我必须将我从我的帐户获得的 API 密钥添加到生成的 URL 的末尾。在 Fragment activity 中有一个对 BuildConfig.java 的调用(单击以查看对 BuildConfig.java 的调用,它位于第 6 行,作为 String apiKey 的一部分)。
build.gradle文件如下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.example.android.sunshine.app"
minSdkVersion 10
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
buildTypes.each {
it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', 'c882c94be45fff9d16a1cf845fc16ec5'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.0'
}
in buildTypes.each it.buildConfigField 与 'String'、'OPEN_WEATHER_MAP_API_KEY'、'c882c94be45fff9d16a1cf845fc16ec5' 一起调用导致
public static final String OPEN_WEATHER_MAP_API_KEY = c882c94be45fff9d16a1cf845fc16ec5;
在 BuildConfig.java 中生成,但我不断收到此错误:
Cannot Resolve Symbol(单击以查看错误消息和 BuildConfig.java 文件)
我不明白为什么字符串 OPEN_WEATHER_MAP_API_KEY 被自动创建为一组字母和数字,周围没有引号,但是如果我编辑代码以读取:
public static final String OPEN_WEATHER_MAP_API_KEY = "c882c94be45fff9d16a1cf845fc16ec5";
或
public static final String OPEN_WEATHER_MAP_API_KEY = 'c882c94be45fff9d16a1cf845fc16ec5';
BuildConfig.java 会自动更改自身。
我不确定我做错了什么,我检查了许多没有关于这个问题的任何信息的 Udacity 视频。如果您知道如何解决此问题,请告诉我。
此致。
改变
buildTypes.each {
it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', 'c882c94be45fff9d16a1cf845fc16ec5'
}
与
buildTypes.each {
it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', "\"c882c94be45fff9d16a1cf845fc16ec5\""
}
这样OPEN_WEATHER_MAP_API_KEY
应该可以正确转义
"\"c882c94be45fff9d16a1cf845fc16ec5\""
这是更改 BuildTypes 容器的正确语法。
我是一名探索 Android 世界的新开发者。我目前正在研究创建 Sunshine 应用程序的 Udacity 教程。在 activity class 片段中,为了从 openweathermap 获取数据,我必须将我从我的帐户获得的 API 密钥添加到生成的 URL 的末尾。在 Fragment activity 中有一个对 BuildConfig.java 的调用(单击以查看对 BuildConfig.java 的调用,它位于第 6 行,作为 String apiKey 的一部分)。
build.gradle文件如下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.example.android.sunshine.app"
minSdkVersion 10
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
buildTypes.each {
it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', 'c882c94be45fff9d16a1cf845fc16ec5'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.0'
}
in buildTypes.each it.buildConfigField 与 'String'、'OPEN_WEATHER_MAP_API_KEY'、'c882c94be45fff9d16a1cf845fc16ec5' 一起调用导致
public static final String OPEN_WEATHER_MAP_API_KEY = c882c94be45fff9d16a1cf845fc16ec5;
在 BuildConfig.java 中生成,但我不断收到此错误: Cannot Resolve Symbol(单击以查看错误消息和 BuildConfig.java 文件) 我不明白为什么字符串 OPEN_WEATHER_MAP_API_KEY 被自动创建为一组字母和数字,周围没有引号,但是如果我编辑代码以读取:
public static final String OPEN_WEATHER_MAP_API_KEY = "c882c94be45fff9d16a1cf845fc16ec5";
或
public static final String OPEN_WEATHER_MAP_API_KEY = 'c882c94be45fff9d16a1cf845fc16ec5';
BuildConfig.java 会自动更改自身。 我不确定我做错了什么,我检查了许多没有关于这个问题的任何信息的 Udacity 视频。如果您知道如何解决此问题,请告诉我。
此致。
改变
buildTypes.each {
it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', 'c882c94be45fff9d16a1cf845fc16ec5'
}
与
buildTypes.each {
it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', "\"c882c94be45fff9d16a1cf845fc16ec5\""
}
这样OPEN_WEATHER_MAP_API_KEY
应该可以正确转义
"\"c882c94be45fff9d16a1cf845fc16ec5\""
这是更改 BuildTypes 容器的正确语法。