android - ionic 构建Android |错误 : No installed build tools found. 请安装 Android 构建工具

标签 android cordova ubuntu ionic-framework

当我在 ionic 项目的根目录中运行 ionic build android 命令时,我收到此错误:

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.

  • 尝试:使用 --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 我有:

export PATH=$PATH:/opt/android-sdk/tools

export PATH=$PATH:/opt/android-sdk/platform-tools

export PATH=$PATH:/opt/node/bin

export JAVA_HOME=/usr/lib/jvm/default-java

export 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

最佳答案

我通过使用 sdkmanager 下载名为 platform-toolsbuid-tools 的 sdk 包来解决此问题。您可以使用 sdkmanager.exe 或者如果您使用的是 SDK CLI ,进入 ~\AppData\Local\Android\sdk\tools\bin 并运行以下命令:

sdkmanager "platform-tools" "platforms;android-26"

sdkmanager "build-tools;27.0.3"

或两者兼而有之

之后您应该能够运行 ionic cordova run androidionic build android

注意:通过添加 ~\AppData\Local\Android\sdk\tools~\AppData\Local\Android\sdk\tools 来全局化 sdkmanager 命令\bin 到你的环境变量中。

关于android - ionic 构建Android |错误 : No installed build tools found. 请安装 Android 构建工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31190355/

相关文章:

android - 将 ObjectBox 与 Libgdx 一起使用

android - ImageView 9 补丁可绘制,填充线不受尊重

javascript - SQLite 数据库在 Android 4.4 中不工作

Ubuntu 11.10 上的 c 数学链接器问题

php - 想要备份 PHP 中的代码,其中要作为备份的文件是从另一个指定的(补丁)文件夹中读取的。?

Android Crashlytics 不记录非致命问题

java - Android Java 倒计时然后做某事

javascript - 谷歌地图无限使用

android - 强制 Phonegap(Android) 启动画面方向

java - 本地主机 : ERROR: Invalid HADOOP_MAPRED_HOME while running start-dfs. sh