android - 无法为 org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler 类型的对象获取未知属性“ANDROID_SDK_VERSION”
问题描述
我有以下离子科尔多瓦项目:
/my-app/config.xml
<engine name="android" spec="^6.4.0" />
<plugin name="cordova-plugin-device" spec="^1.1.7" />
<plugin name="cordova-plugin-facebook4" spec="^2.4.0">
<variable name="APP_ID" value="123456789" />
<variable name="APP_NAME" value="my-app" />
</plugin>
<plugin name="cordova-plugin-ionic-webview" spec="^1.2.1" />
<plugin name="cordova-plugin-splashscreen" spec="^4.1.0" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
<plugin name="ionic-plugin-keyboard" spec="^2.2.1" />
/my-app/package.json
"cordova": {
"plugins": {
"cordova-plugin-facebook4": {
"APP_ID": "123456789",
"APP_NAME": "my-app"
},
"cordova-plugin-device": {},
"cordova-plugin-ionic-webview": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-whitelist": {},
"ionic-plugin-keyboard": {}
},
"platforms": [
"android"
]
}
当我跑步时:enter code here
离子信息
cli packages: (/usr/lib/node_modules)
@ionic/cli-utils : 1.9.2
ionic (Ionic CLI) : 3.9.2
global packages:
Cordova CLI : 7.0.1
local packages:
@ionic/app-scripts : 3.1.0
Cordova Platforms : android 6.4.0
Ionic Framework : ionic-angular 3.9.2
System:
Node : v8.11.4
npm : 5.6.0
OS : Linux 4.15
上下文:当我运行时:ionic cordova build android
> ionic cordova prepare
> cordova prepare
✔ Running command - done!
> cordova build android
✖ Running command - failed!
[ERROR] An error occurred while running cordova build android (exit code 1):
ANDROID_HOME=/home/rreyes/android-sdk-linux
JAVA_HOME=/usr/lib/jvm/java-8-oracle
Subproject Path: CordovaLib
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use
Task.doLast(Action) instead.
at build_8oeka4t56dp9oa43kn5u8er7z.run(/home/rreyes/workspace/tennis-up-app/platforms/android/build.gradle:141)
FAILURE: Build failed with an exception.
* Where:
Build file '/home/rreyes/workspace/tennis-up-app/platforms/android/build.gradle' line: 255
* What went wrong:
A problem occurred evaluating root project 'android'.
> Could not get unknown property 'ANDROID_SDK_VERSION' for object of type
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 2s
Error: /home/rreyes/workspace/tennis-up-app/platforms/android/gradlew: Command failed with exit code 1 Error
output:
FAILURE: Build failed with an exception.
* Where:
Build file '/home/rreyes/workspace/tennis-up-app/platforms/android/build.gradle' line: 255
* What went wrong:
A problem occurred evaluating root project 'android'.
> Could not get unknown property 'ANDROID_SDK_VERSION' for object of type
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 2s
我确实为 ANDROID_SDK_VESION ="4.+" 设置了一个环境变量
问题:我需要做什么才能使构建成功运行 ionic cordova build android
?
提前致谢。
解决方案
您需要ANDROID_SDK_VERSION
在项目级别文件中设置变量build.gradle
,或者您也可以在gradle.properties
文件中定义它。
在项目级build.gradle
文件中:
project.ext {
variableName = value
}
使用以下方式访问它:
project.ext.variablename
在 gradle.properties 文件中:
VariableName = value
使用以下方式访问它:
$variableName
推荐阅读
- excel - 使用 MINVERSE/MMULT 计算交点
- python-3.x - 有没有办法在 Tkinter 文本小部件上设置换行长度?
- angular - 使用文档 ID 查询 Firestore 集合组
- bash - 使用词法分析器或解析器生成器为文本参数生成 bash 自动完成?
- time-series - Google Auto ML 花费大量时间进行预测
- assembly - 我使用 8(%ebp) 访问内存,但提示我无法访问地址 0xFFFFDFD4 处的内存
- swiftui - 如何使用 ForEach 循环内的视图数组更新导航链接下标?
- java - 查找匹配文本中的单词索引
- python-3.x - 无法让它接受输入
- javascript - 不支持选项“useFindAndModify”