簡體   English   中英

離子構建 Android | 錯誤:找不到已安裝的構建工具。 請安裝Android構建工具

[英]ionic build Android | error: No installed build tools found. Please install the Android build tools

當我在 ionic 項目的根目錄中運行ionic build android命令時,出現此錯誤:

失敗:構建失敗,出現異常。

  • 其中:腳本 '/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

$路徑是:

/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

我通過下載SDK包稱為平台的工具和使用打造專業化的工具解決這個問題sdkmanager 您可以使用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\\bin到環境變量來全球化sdkmanager命令。

對我來說,運行這三個命令可以解決 Mac 上的問題:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools

為了便於復制這里是單行

export ANDROID_HOME=~/Library/Android/sdk && export PATH=${PATH}:${ANDROID_HOME}/tools && export PATH=${PATH}:${ANDROID_HOME}/platform-tools

永久添加

按着這些次序:

  1. 在文本編輯器中打開主目錄中的 .bash_profile 文件(例如,/Users/your-user-name/.bash_profile)。
  2. 在文件的最后一行添加export PATH="The above exports here" ,其中your-dir 是你要添加的目錄。
  3. 保存 .bash_profile 文件。
  4. 重啟你的終端

添加到不同系統的 bash 進程

您缺少 android SDK 工具。 請嘗試以下操作:

android list sdk --all
android update sdk -u -a -t <package no.>

其中<package no.>1,2,3,n

-u (--no-ui)  # Headless mode
-a (--all)    # Includes all packages (also obsolete ones)
-t (--filter) # Filter by package index

由於錯誤顯示“未找到已安裝的構建工具”,這意味着

1:真的真的真的沒有找到構建工具

2:為了讓他找到構建工具,你需要正確定義這些路徑

Ubuntu(.bashrc) 和 MAC(.bash_profile) 的路徑相同

export ANDROID_HOME=/Users/vijay/Software/android-sdk-macosx
export PATH=${PATH}:/Users/vijay/Software/android-sdk-macosx/tools
export PATH=${PATH}:/Users/vijay/Software/android-sdk-macosx/platform-tools

3 :重要 重要一旦你設置了環境變量,你就需要重新加載環境變量。

//For ubuntu
$source .bashrc 

//For macos
$source .bash_profile

4:然后在終端檢查

$printenv ANDROID_HOME
$printenv PATH

注意:如果你沒有在printenv中找到你的更改,那么重啟電腦並再次嘗試printenv PATH, printenv ANDROID_HOME 。還有重新加載環境變量的命令。

4 : 然后打開終端並寫入 HALF TEXT '$and' 並點擊 Tab。 在點擊選項卡上,您應該看到完整的“$android”名稱。這驗證了所有路徑是否正確

5 : 在終端輸入 $android 並回車

請安裝 Android 構建工具版本 19.1.0 或更高版本。

以下命令可以在Ubuntu上快速更新Android SDK並修復上述錯誤:

android list sdk --all
android update sdk -u -a -t 19
android update sdk -u -a -t 20

我通過將ANDROID_HOME從錯誤的先前目錄更改為C:\\Users\\Gebru\\AppData\\Local\\Android\\Sdk修復錯誤。

我知道這看起來並不相關,特別是考慮到錯誤消息,但我通過安裝較新版本的 Android SDK Build 工具解決了這個問題。

就我而言,環境變量 ANDROID_HOME 指向錯誤(舊)目錄。 我重新分配以糾正一個。 就我而言

ANDROID_HOME=F:\\Program Files (x86)\\Android\\android-sdk

2018年

The "android" command is deprecated.

嘗試

sdkmanager "build-tools;27.0.3"

正如#Fadhil 所說,這對我有用

對我來說,問題是 ANDROID_HOME 指向舊的 Android SDK 路徑。 安裝 Android Studio 后,我必須相應地為 MAC (El Capitan) 更新 ~/.bash_profile

export ANDROID_HOME="/Users/corneliusparkin/Library/Android/sdk"

記得更新 ~/.bash_profile 后重新啟動終端或運行此命令

源 ~/.bash_profile

FOR WINDOW:我遇到過這種類型的問題。 但在我的情況下,它在探索之后解決了。 我正在使用窗口 10。只需按照以下幾個步驟操作:

  1. 下載適用於 Windows 的 Android SKD 管理器。 https://developer.android.com/studio在本頁末尾。 它是 zip 文件。 解壓后會顯示工具目錄。

  2. 轉到驅動器 C:\\ 創建新文件夾“android-sdk”。 復制工具文件夾並粘貼進去
    C:\\android-sdk

  3. 以管理員身份打開命令提示符。 轉到 cd " c:\\android-sdk\\tools\\bin "。 sdkmanager 將顯示在這里。 輸入skdmanager,它會顯示如下 [========================================] 100 % 計算更新...

  4. 在鍵入“sdkmanager platform-tools”之后,它將在 C:\\android-sdk 中創建平台工具目錄

  5. 現在設置系統環境變量:右鍵單擊 PC 選擇屬性。 將彈出系統設置。 單擊 > 環境變量。 將彈出環境變量。

  6. 在這個窗口系統變量就像這樣。 C:\\android-sdk\\platform-tools 和 C:\\android-sdk\\tools\\bin

  7. 運行命令來構建工具 sdkmanager "build-tools;27.0.3"

    還要確保定義了 java 路徑。 我希望它能解決問題。

在命令行中輸入 android 並安裝“Android SDK Build-tools”

我在這個問題上搜索了好幾天......我希望它會有用

最終解決方案:(我假設您已經安裝了 Oracle-JDK 和 ANDROID)

打開 /etc/environment

 sudo nano /etc/environment


PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/shoniisra/Android/Sdk/tools:/home/shoniisra/Android/Sdk/platform-tools:/home/shoniisra/Android/Sdk/build-tools:/home/shoniisra/Android/Sdk:/home/shoniisra/android-studio/bin"
JAVA_HOME="/home/shoniisra/java/jdk1.8.0_231"
ANDROID_HOME="/home/shoniisra/Android/Sdk/build-tools/29.0.2"
ANDROID_SDK_ROOT="/home/shoniisra/Android/Sdk"
ANT_HOME="/home/shoniisra/ant/apache-ant-1.9.14"

保存並退出 (CTRL+o CTRL+X)

重新加載文件source /etc/environment

如果您最近安裝了 Android,您應該接受一些許可

cd ~/Android/Sdk/tools/bin/

執行sdkmanager:

./sdkmanager --licenses

然后全部接受,最后生成你的APK

cd {yourproyect}
sudo ionic cordova build android

就我而言,問題是 ANDROID_HOME 由於某種原因指向~/Library/Android/ 正確的路徑是~/Library/Android/sdk

我用以下細節解決了這個問題,不知何故,android SDK 管理安裝了所有的依賴項和必要的文件,但忘記了這個`templates`文件在哪里找到模板> gradle> 包裝器。 缺少這組文件。

截屏

mac /Users/giogio/Library/Android/sdk/tools/templates路徑

這對我有用! 小心新的 Java 版本,因為它們會導致錯誤,檢查您是否已安裝所有內容並在您的特定目錄中,

我沒有使用 openJDK

export JAVA_HOME="/usr/lib/jvm/java-8-jdk" \
&& export PATH=$JAVA_HOME/bin:$PATH \
&& export ANDROID_HOME=$HOME/Android/Sdk \
&& export PATH=${PATH}:${ANDROID_HOME}/tools \
&& export PATH=${PATH}:${ANDROID_HOME}/platform-tools \
&& export GRADLE_HOME=/usr/share/java/gradle/bin/gradle \
export PATH=$PATH:$GRADLE_HOME/bin

Linux 4.14.39-1-MANJARO #1 SMP PREEMPT 5 月 2 日星期三 19:03:39 UTC 2018 x86_64 GNU/Linux

查看我的 shell 中的屏幕截圖

我將<preference name="android-minSdkVersion" value="19" />到我的conf.xml並且構建成功。

這個問題的解決方案在這里https://docops.ca.com/devtest-solutions/8-0-2/en/installing/setting-up-the-mobile-testing-environment/preinstallation-steps-for-mobile -測試/

請按照以下步驟操作,解決您的問題。

Android SDK 包中包含一個稱為編譯工具的組件。 移動測試至少需要 19.0.1、19.1.0 或 20.0.0 版本。

如果這些版本沒有與您的 ADT 包一起安裝,您可能會在 DevTest Workstation 中創建移動資產時收到一條錯誤消息:

蘋果操作系統

使用 vi 或其他 shell 編輯器編輯 ~/.bash_profile

vi ~/.bash_profile

添加以下幾行:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=${PATH}:~/Software/android-sdk-macosx/tools:~/Software/android-sdk-macosx/platform-tools"

(保存文件,然后退出)將這些更新的環境變量加載到當前的 shell 環境中:

. ~/.bash_profile
  • 如果由於某種原因你有一個舊版本的構建工具,你可以從 android 開發工作室更新它們:
  • 配置 --> SDK Manager --> 選擇“Android SDK Build-Tools
  • 勾選“顯示包裹詳情”
  • 查看此軟件包的版本,如果需要進行更新

嗯,很多人給出了他們的答案,有些答案是一樣的,有些答案是不同的。 我嘗試了很多答案,但它們對我不起作用,當然我也嘗試了上面的答案,但沒有解決我的問題。 我不知道為什么,但即使我的問題已通過此ANSWER解決,我也有同樣的錯誤。 我只是想寫它可能對某人有幫助。

我已經嘗試了上述所有解決方案。 沒有工作。 直到我被鏈接到https://forum.ionicframework.com/t/ionic-v4-no-installed-build-tools-found/152150。

顯然,您必須以 root 身份運行該命令。 須藤是不夠的。 您需要先更改為 root 用戶,然后才能運行所有命令。

我已經通過以下步驟解決了這個問題:

  1. 轉到cordova.gradle文件(platform/android/cordovaLib/cordova.gradle)
  2. 搜索 getAndroidSdkDir() 方法
  3. 現在只需將 System.getenv("ANDROID_HOME") 替換為您真正的 Android SDK 路徑

Olá,要在Windows 10上使用電子郵件,要在Windows 10上進行虛擬化,要在Windows 10上進行虛擬安裝,請不要在程序上添加任何內容。 利用o: Hyper-V

打開命令提示符使用 SET ANDROID_HOME 檢查 ANDROID_HOME 路徑,如果未設置,則使用以下命令進行設置。

 SET ANDROID_HOME="C:\Users\VenkateshMogili\AppData\Local\Android\Sdk"

或打開系統環境變量並創建新變量

 Variable Name: ANDROID_HOME
 Variable Value: C:\Users\VenkateshMogili\AppData\Local\Android\Sdk

並打開 cordova.gradle 文件( /platforms/android/CordovaLib/cordova.gradle )並搜索getAndroidSdkDir()方法並替換 ANDROID_HOME 路徑( "C:/Users/VenkateshMogili/AppData/Local/Android/Sdk" )而不是System.getenv("ANDROID_HOME")

如果出現許可證問題,則通過在C:\\Users\\VenkateshMogili\\AppData\\Local\\Android\\Sdk\\tools\\bin 中打開命令提示符鍵入以下命令

  sdkmanager "build-tools;27.0.3"  //<-that will create build-tools folder and licenses folder.

這個對我有用。

對使用虛擬機的開發人員的警告

我花了很長時間試圖解決這個問題。 我嘗試了這篇文章中的所有內容以及網絡上的更多解決方案。 然而,在經歷了多次失敗並經歷了網絡上每個人都在說的事情之后,我仍然無法解決我的 VM 上的問題 - 這是 VMWare Workstation 上的 Windows 10 映像。

在查看了人們正在開發的機器/操作系統的所有解決方案和描述后,我的設置中的明顯差異是我在 VM 中進行開發。

解決方案:我將所有代碼都拉到主機(Windows 10 操作系統)上,重新安裝了所有依賴項,並確保首先解決所有問題。 經過大量研究,我發現了一些警告,即 Android Studio 在某些 VM 中正確安裝方面存在一些已知問題。 因此,如果您像我一樣嘗試了所有解決方案(多次)但沒有任何效果,但您使用的是虛擬機,則可能需要考慮在主機(或其他物理機)上構建

如果對cordova 安裝進行升級,也會出現此問題。

檢查您的日志錯誤是否類似於:

Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=undefined (recommended setting) <-------------
ANDROID_HOME=/{path}/android-sdk-linux (DEPRECATED)
Using Android SDK: /usr/lib/android-sdk
Starting a Gradle Daemon (subsequent builds will be faster)

在這種情況下,只需將~/.bashrc或類似配置文件中的ANDROID_SDK_ROOT更改為ANDROID_HOME即可。

以前在哪里:

export ANDROID_HOME="/{path}/android-sdk-linux"

現在是:

export ANDROID_SDK_ROOT="/{path}/android-sdk-linux"

不要忘記來源: $ . ~/.bashrc $ . ~/.bashrc版本后。

檢查您是否已將 android SDK 路徑添加到環境文件 (.bash_profile) 中。 如果您使用默認路徑安裝了 android studio,請將以下幾行添加到您的環境文件中。 就我而言,我使用的是 bash,所以我更新了 .bash_profile

export ANDROID_HOME=~/Library/Android/sdk
export ANDROID_SDK_ROOT=~/Library/Android/sdk
export ANDROID_AVD_HOME=~/.android/avd

我浪費了一天來解決這個問題,最后我得到了解決方案 - 首先我刪除了 ionic cordova platform android -Install ionic cordova platform android@8

就是這樣

  1. 創建 ~/.bash_profile 和 ~/.zshrc 文件。 觸摸 ~/.bash_profile;
    觸摸 ~/.zshrc;
  2. 編輯並將其復制/粘貼到您的 ~/.bash_profile 或 ~/.zshrc 文件中 因此,轉到您的文件管理器並使用 Cmd+Shift+ 顯示所有隱藏文件。 或 Cmd+>

i) 編輯您的 .zshrc 文件

export LANG=en_US.UTF-8 
export ANDROID_HOME=/Users/bookwarm/Library/Android/sdk
export ANDROID_SDK_ROOT=~/Library/Android/sdk
export ANDROID_AVD_HOME=~/.android/avd
export PATH=$PATH:/Users/{your name}/Library/Android/sdk/tools
export PATH=$PATH:/Users/{your name}/Library/Android/sdk/tools/sdkmanager
export PATH=$PATH:/Users/{your name}/Library/Android/sdk/platform-tools
export PATH=$PATH:/Users/{your name}/Library/Android/sdk/build-tools
export PATH=$PATH:/Users/{your name}/Library/Android/sdk/tools/bin
export ANDROID_NDK=/Users/{your name}/Library/Android/sdk/ndk-bundle
export JAVA_HOME=$(/usr/libexec/java_home)

ii) 編輯您的 .bash_profile 文件

export ANDROID_HOME=/Users/{your name}/Library/Android/sdk
export ANDROID_SDK_ROOT=~/Library/Android/sdk
export ANDROID_AVD_HOME=~/.android/avd
export PATH=$PATH:/Users/{your name}/Library/Android/sdk/tools
export PATH=$PATH:/Users/{your name}/Library/Android/sdk/tools/sdkmanager
export PATH=$PATH:/Users/{your name}/Library/Android/sdk/platform-tools
export PATH=$PATH:/Users/{your name}/Library/Android/sdk/build-tools
export PATH=$PATH:/Users/{your name}/Library/Android/sdk/tools/bin
export ANDROID_NDK=/Users/{your name}/Library/Android/sdk/ndk-bundle
export JAVA_HOME=$(/usr/libexec/java_home)
  1. 使用 file->save 保存文件,就像保存任何常規文件一樣,然后將其寫入終端源 ~/.bash_profile; 源 ~/.zshrc; 關閉終端並立即運行命令

在 build.gradle 腳本中,它檢查 build-tools 版本是否低於 Gradle 配置中的 maxVersion。 所以就我而言,我設置了環境 SDK 變量,但我的版本高於允許的版本。

def highestBuildToolsVersion = buildToolsDirContents
    .collect { new Version(it) }
    // Invalid inputs will be handled as 0.0.0
    .findAll { it.isHigherThan('0.0.0') && it.isLowerThan(maxVersion) }
    .max()

windows 上,我檢查了 sdkmanager 的路徑並在終端中切換到:

cd C:\Android\android-sdk\tools\bin

比我運行以下命令:

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

sdkmanager "build-tools;33.0.0"

在此之前,我檢查了 Android Studio 是否已安裝工具以及路徑是否正確,因此版本可能與我的不同。 構建工具平台工具位於:

C:\Users\[yourUsername]\AppData\Local\Android\Sdk

所以你可以在那里檢查你的版本。

我有同樣的問題。 我嘗試了此頁面上的所有解決方案,但對我有用的是安裝請求的構建工具的確切版本。 就我而言,我安裝了更高版本 (33.0.0),但為了使其正常工作,我必須下載舊版本 30.0.3。

轉到 D:Android sdk\\Android SDK 並單擊 SDK Manager 並檢查是否安裝了 Build Tools 如果未安裝則安裝這些工具

This is very irritating error and i wasted my almost 9 hours to solve this.

Steps to solve:

Notice **ANDROID_HOME** while you run **ionic cordova build android** . command i. for example in my case it was pointing to some other android sdk which i uninstalled and then it started pointing to right sdk.
**In my case i uninstalled :**

brew cask uninstall android-sdk
brew cask uninstall android-platform-tool


then i ran **ionic cordova build android**

> cordova build android
ANDROID_HOME=/Users/anand/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home


Then it might say lineces not accepted then run below command :

cd /Users/Android/sdk/tools/bin/
then run ./sdkmanager --licenses
accepts all with y option


Then it might say unable to download jars then go to platform android and build.gradle

and search for buildscript and inside that reverse the order 


repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }

Thats it . Enjoy huh

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM