Din*_*ien 16 android gradle android-studio build.gradle android-gradle-plugin
将这些行添加到gradle文件后,出现此错误:
buildTypes.each {
it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', MyOpenWeatherMapApiKey
}
Run Code Online (Sandbox Code Playgroud)
然后日志显示:
Could not find property 'MyOpenWeatherMapApiKey' on com.android.build.gradle.AppExtension_Decorated@c3b784
Run Code Online (Sandbox Code Playgroud)
我搜索的谷歌解决方案无法解决我的问题.请告诉我我哪里错了?
Gab*_*tti 26
由于您使用的是String必须使用以下语法:
buildConfigField "String" , "OPEN_WEATHER_MAP_API_KEY" , "\"XXXXX-XXXXX-XXX\""
Run Code Online (Sandbox Code Playgroud)
最后一个参数必须是String
否则你可以使用这样的东西:
resValue "string", "OPEN_WEATHER_MAP_API_KEY", "\"XXXXX-XXXXX-XXX\""
Run Code Online (Sandbox Code Playgroud)
第一种情况在您的BuildConfig文件中生成常量.
第二种情况生成可以使用@string/OPEN_WEATHER_MAP_API_KEY注释访问的字符串资源值.
rad*_*tao 12
您应该MyOpenWeatherMapApiKey在本地用户设置中定义,所以,转到您的家庭gradle设置:( ~/.gradle/gradle.propertiesWin :) %USERPROFILE%\.gradle\gradle.properties.如果gradle.properties不存在 - 只需创建它.
在文件中添加以下行:
MyOpenWeatherMapApiKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
(不幸的是,Android的Udacity老师们不是很好解释它是如何从gradle这个角度看工作;作为同我不容易被发现从如何的gradle任何文件it.buildConfigField作品)
Lee*_*ell 11
'OPEN_WEATHER_MAP_API_KEY'引用了一个名为'MyOpenWeatherMapApiKey'的gradle属性,需要进行配置.
一个原因是构建系统为此生成代码.另一个可能是你不小心将API-KEY提交给GitHub或其他公共仓库.
你应该做的是在'gradle.properties'文件中添加一个条目,如下所示:
MyOpenWeatherMapApiKey = "[YOUR-API-KEY]"
然后使用gradle同步项目(如果使用Android Studio)
| 归档时间: |
|
| 查看次数: |
20018 次 |
| 最近记录: |