Java 错误:梯度同步失败:无法获取未知属性';API#U键';对于DefaultConfig\u
错误:无法获取DefaultConfig\u的未知属性“API\u KEY”{name=main,dimension=null,minSdkVersion=null,targetSdkVersion=null,renderscriptTargetApi=null,renderscriptSupportModeEnabled=null,renderscriptsupportmodeblasablenabled=null,renderscriptNdkModeEnabled=null,versionCode=null,versionName=null,applicationId=null,testApplicationId=null,testInstrumentationRunner=null,testInstrumentationRunner=nullguments={},testHandleProfiling=null,testFunctionalTest=null,signingConfig=null,resConfig=null,mBuildConfigFields={},mResValues={},mProguardFiles=[],mConsumerProguardFiles=[],mManifestPlaceholders={},mWearAppUnbundled=null},类型为com.android.buildle.gradle.internal.dsl.DefaultConfig。 应用插件:“com.android.application”Java 错误:梯度同步失败:无法获取未知属性';API#U键';对于DefaultConfig\u,java,android,android-studio,gradle,build.gradle,Java,Android,Android Studio,Gradle,Build.gradle,错误:无法获取DefaultConfig\u的未知属性“API\u KEY”{name=main,dimension=null,minSdkVersion=null,targetSdkVersion=null,renderscriptTargetApi=null,renderscriptSupportModeEnabled=null,renderscriptsupportmodeblasablenabled=null,renderscriptNdkModeEnabled=null,version
更改此buildConfigField(“字符串”、“API\U键”、API\U键) 进入这个
buildConfigField "String", "API_KEY", "\" API_KEY\""
要避免代码中出现任何错误,请添加此代码段,并将其作为“我的电影”项目的解决方案:
def getProperty(String filename, String propName) {
def propsFile = rootProject.file(filename)
if (propsFile.exists()) {
def props = new Properties()
props.load(new FileInputStream(propsFile))
if (props[propName] != null) {
return props[propName]
} else {
print("No such property " + propName + " in file " + filename);
}
} else {
print(filename + " does not exist!")
}
}
android {
compileSdkVersion 27
buildToolsVersion '27.0.2'
defaultConfig {
buildConfigField "String", "API_KEY", "\"${getProperty("local.properties", API_KEY)}\""
buildConfigField "String", "\"${getProperty("local.properties", ER_API_KEY)}\""
applicationId "com.gpads.gautham.imagetotextanalysis"
minSdkVersion 15
targetSdkVersion 27
versionCode 2
versionName "2.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
错误在于您试图使用未定义的内容。 作为解决方案,您有几种方法来初始化配置字段:
.在同一范围内,它可以是: 查看定义了
API\u KEY\u 2
的以下代码
android {
//...
defaultConfig {
//...
def API_KEY_2 = "API_KEY_2"
buildConfigField("String", "API_KEY", API_KEY_2)
}
}
.或在全球范围内: 格雷德尔先生 注意:我不建议使用
BuildConfig.SOMETHING
来初始化buildConfigField
GL包com.gpads.gautham.imagetotextanalysis的可能重复;公共最终类BuildConfig{public static final boolean DEBUG=boolean.parseBoolean(“true”);公共静态最终字符串应用程序_ID=“com.gpads.gautham.imagetotextanalysis”;公共静态最终字符串BUILD_TYPE=“DEBUG”;public static final String FLAVOR=“”;public static final int VERSION_CODE=2;public static final String VERSION_NAME=“2.0”}@HemantParmar这是我的BuildConfig.java
android {
//...
defaultConfig {
//...
def API_KEY_2 = "API_KEY_2"
buildConfigField("String", "API_KEY", API_KEY_2)
}
}
class Globals {
static String API_KEY_2 = "API_KEY_2"
}
android {
//...
defaultConfig {
//...
def API_KEY_2 = "API_KEY_2"
buildConfigField("String", "API_KEY", API_KEY_2)
}
}