当我在 ionic 项目的根目录中运行 ionic build android 命令时,出现此错误:
FAILURE:构建失败并出现异常。
其中:脚本’/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle’行:64
出了什么问题:评估根项目“android”时出现问题。
未找到已安装的构建工具。请安装 Android 构建工具 19.1.0 或更高版本。
- 尝试:使用 –stacktrace 选项运行以获取堆栈跟踪。使用 –info 或 –debug 选项运行以获得更多日志输出。
javad@javad:~/Desktop/javadApp$ ionic build android
Running command: /home/javad/Desktop/javadApp/hooks/after_prepare/010_add_platform_class.js /home/javad/Desktop/javadApp
add to body class: platform-android
Running command: /home/javad/Desktop/javadApp/platforms/android/cordova/build
ANDROID_HOME=/opt/android-sdk
JAVA_HOME=/usr/lib/jvm/default-java
Running: /home/javad/Desktop/javadApp/platforms/android/gradlew cdvBuildDebug -b /home/javad/Desktop/javadApp/platforms/android/build.gradle -Dorg.gradle.daemon=true
FAILURE: Build failed with an exception.
* Where:
Script '/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle' line: 64
* What went wrong:
A problem occurred evaluating root project 'android'.
> No installed build tools found. Please install the Android build tools version 19.1.0 or higher.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 1.564 secs
/home/javad/Desktop/javadApp/platforms/android/cordova/node_modules/q/q.js:126
throw e;
^
Error code 1 for command: /home/javad/Desktop/javadApp/platforms/android/gradlew with args: cdvBuildDebug,-b,/home/javad/Desktop/javadApp/platforms/android/build.gradle,-Dorg.gradle.daemon=true
ERROR building one of the platforms: Error: /home/javad/Desktop/javadApp/platforms/android/cordova/build: Command failed with exit code 8
You may not have the required environment or OS to build this project
Error: /home/javad/Desktop/javadApp/platforms/android/cordova/build: Command failed with exit code 8
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:134:23)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:743:16)
at Process.ChildProcess._handle.onexit (child_process.js:810:5)
在 ~/.profile 我有:
导出 PATH=$PATH:/opt/android-sdk/tools
导出 PATH=$PATH:/opt/android-sdk/platform-tools
导出 PATH=$PATH:/opt/node/bin
导出 JAVA_HOME=/usr/lib/jvm/default-java
导出 ANDROID_HOME=/opt/android-sdk
$PATH 是:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/android-sdk/tools :/opt/android-sdk/platform-tools:/opt/node/bin
重要问题:
在文件中: /home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle | 第 38 行:
String[] getAvailableBuildTools() {
def buildToolsDir = new File(getAndroidSdkDir(), "build-tools")
buildToolsDir.list()
.findAll { it ==~ /[0-9.]+/ }
.sort { a, b -> compareVersions(b, a) }
}
刚刚返回 /opt/android-sdk/build-tools !!!
在 /opt/android-sdk/build-tools 文件夹中,我有:
android-5.1 文件夹提取自: https ://dl.google.com/android/repository/build-tools_r22-linux.zip
原文由 javad75 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Windows 上,我检查了 sdkmanager 的路径并在终端中切换到:
比我运行以下命令:
在此之前,我检查了 Android Studio 是否已安装工具以及路径是否正确,因此版本可能与我的不同。 构建工具 和 平台工具 位于:
所以你可以在那里检查你的版本。