xây dựng ion Android | lỗi: Không tìm thấy công cụ xây dựng đã cài đặt nào. Vui lòng cài đặt các công cụ xây dựng Android


94

Khi tôi chạy lệnh xây dựng android ionic trong thư mục gốc của dự án ionic, tôi gặp lỗi này:

THẤT ​​BẠI: Không xây dựng được với một ngoại lệ.

  • Trong đó: Script '/home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle' dòng: 64

  • Đã xảy ra sự cố: Đã xảy ra sự cố khi đánh giá dự án gốc 'android'.

    Không tìm thấy công cụ xây dựng nào đã cài đặt. Vui lòng cài đặt công cụ xây dựng Android phiên bản 19.1.0 trở lên.

  • Thử: Chạy với tùy chọn --stacktrace để lấy dấu vết ngăn xếp. Chạy với tùy chọn --info hoặc --debug để nhận được nhiều đầu ra nhật ký hơn.

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)

trong ~ / .profile tôi có:

xuất PATH = $ PATH: / opt / android-sdk / tools

xuất PATH = $ PATH: / opt / android-sdk / platform-tools

xuất PATH = $ PATH: / opt / node / bin

xuất JAVA_HOME = / usr / lib / jvm / default-java

xuất ANDROID_HOME = / opt / android-sdk

$ PATH là:

/ 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

Vấn đề quan trọng:

trong tệp: /home/javad/Desktop/javadApp/platforms/android/CordovaLib/cordova.gradle | dòng 38 :

String[] getAvailableBuildTools() {
    def buildToolsDir = new File(getAndroidSdkDir(), "build-tools")
    buildToolsDir.list()
        .findAll { it ==~ /[0-9.]+/ }
        .sort { a, b -> compareVersions(b, a) }
}

vừa trả lại / opt / android-sdk / build-tools !!!

trong thư mục / opt / android-sdk / build-tools mà tôi có:

thư mục android-5.1 giải nén từ: https://dl.google.com/android/repository/build-tools_r22-linux.zip


Công tác của nó đối với tôi kiểm tra stackoverflow.com/questions/38660955/...
vinod

Câu trả lời:


51

Tôi sửa lỗi này bằng cách tải xuống gói sdk có tên là platform-toolsbuid-tools bằng cách sử dụng sdkmanager. Bạn có thể sử dụng sdkmanager.exe hoặc nếu bạn đang sử dụng SDK CLI , hãy truy cập ~\AppData\Local\Android\sdk\tools\binvà chạy lệnh này:

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

hoặc là

sdkmanager "build-tools;27.0.3"

hoặc cả hai

Sau đó, bạn sẽ có thể chạy ionic cordova run androidhoặc ionic build android.

Lưu ý: sdkmanagerlệnh toàn cầu hóa bằng cách thêm ~\AppData\Local\Android\sdk\tools~\AppData\Local\Android\sdk\tools\binvào biến môi trường của bạn.


2
Đừng quên chạy cmd với tư cách Quản trị viên để tránh sai sót. Tôi mặt Cảnh báo: "Không thể đọc hoặc tạo cài đặt thuộc tính tập tin" lỗi
neustart47

Cảm ơn bạn, đây là một bước cần thiết cho tôi trong quá trình xây dựng.
BarryMode

mở terminal trong thư mục bin: nói sdkmanager: không tìm thấy lệnh
MJ Montes

@LasLemieux vui lòng kiểm tra xem bạn có cài đặt SDK CLI đúng cách không. Nếu bạn đang sử dụng windows, phải có một tệp có tên sdkmanage.exe.
Fadhil

42

Đối với tôi, việc chạy ba lệnh này sẽ khắc phục sự cố trên máy Mac của tôi:

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

Để dễ dàng sao chép, đây là một lớp lót

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

Để thêm vĩnh viễn

Làm theo các bước sau:

  1. Mở tệp .bash_profile trong thư mục chính của bạn (ví dụ: /Users/your-user-name/.bash_profile) trong trình soạn thảo văn bản.
  2. Thêm vào export PATH="The above exports here"dòng cuối cùng của tệp, trong đó your-dir là thư mục bạn muốn thêm.
  3. Lưu tệp .bash_profile.
  4. Khởi động lại thiết bị đầu cuối của bạn

Thêm vào quy trình bash cho các hệ thống khác nhau


3
Điều này giúp tôi mọi thời gian, nhưng ngay sau khi tôi gần nhà ga hoặc khởi động lại mac, tôi cần phải làm điều này một lần nữa
Forza

Điều này đã làm việc cho tôi. @Forza nếu bạn thêm nó vào ~ / .bash_profile của mình, nó sẽ hoạt động mọi lúc.
caden311,

Tôi nhầm lẫn đã thêm các thư mục con PATH đó vào biến ANDROID_HOME của mình. Sau khi tôi dọn dẹp nó, nó đã hoạt động!
umbyersw

Làm cách nào để bạn không phải chạy lại lệnh mỗi khi khởi động lại thiết bị đầu cuối?
Ross Rawlins

Tôi đã thử điều đó nhưng lỗi nhất là tôi phải làm điều đó mỗi khi tôi mở thiết bị đầu cuối.
Ross Rawlins

29

Bạn đang thiếu các công cụ SDK android. Hãy thử như sau:

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

Trong trường hợp <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

6
Nó ném cho tôiFilter 19 not supported
Atul Agrawal

2
2018 cập nhật: Sử dụng -t android-27cho phiên bản 27, vv
andersand

21

như lỗi cho biết 'Không tìm thấy công cụ xây dựng đã cài đặt nào', điều đó có nghĩa là

1: Nó thực sự thực sự không tìm thấy công cụ xây dựng

2: Để khiến anh ấy tìm thấy các công cụ xây dựng, bạn cần xác định các đường dẫn này một cách chính xác

PATH LÀ CÙNG CHO UBUNTU (.bashrc) VÀ 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: QUAN TRỌNG QUAN TRỌNG ngay sau khi bạn thiết lập các biến môi trường, bạn cần tải lại các biến tiến hóa.

//For ubuntu
$source .bashrc 

//For macos
$source .bash_profile

4: Sau đó đăng ký thiết bị đầu cuối

$printenv ANDROID_HOME
$printenv PATH

Lưu ý: nếu bạn không tìm thấy các thay đổi của mình trong printenv, hãy khởi động lại máy tính và thử lại printenv PATH, printenv ANDROID_HOME. Cũng có lệnh tải lại các biến môi trường.

4: sau đó mở terminal và viết HALF TEXT '$ and' và nhấn tab. Trên tab nhấn, bạn sẽ thấy tên '$ android' đầy đủ. Điều này xác minh tất cả các đường dẫn đều chính xác

5: ghi $ android vào terminal và nhấn enter


18

Vui lòng cài đặt công cụ xây dựng Android phiên bản 19.1.0 trở lên.

Các lệnh sau có thể cập nhật Android SDK trên Ubuntu nhanh chóng và khắc phục lỗi trên:

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

6
Bộ lọc 19 và Bộ lọc 20 không được hỗ trợ
Skizo-ozᴉʞS

1
tương tự ở đây @ Skizo-ozᴉʞS
Bhimashankar Mantur.

17

Tôi sửa lỗi bằng cách thay đổi ANDROID_HOME thành C: \ Users \ Gebru \ AppData \ Local \ Android \ Sdk từ sai thư mục trước đó.


Điều này đã làm việc cho tôi. Tôi không có ANDROID_HOMEthiết lập và Cordova cho rằng nó là ở /usr/lib/android-sdkđó là không chính xác
hughjdavey

Tôi cũng vậy, ngoại trừ tôi đã dừng trước / Sdk. Có vẻ như sai bất cứ điều gì với điều đó dòng phá vỡ nó
Low

6

Tôi biết điều này trông không liên quan, đặc biệt là với thông báo lỗi, nhưng tôi đã khắc phục sự cố này bằng cách cài đặt phiên bản mới hơn của công cụ Android SDK Build.


6

Trong trường hợp của tôi, Biến Enviroument ANDROID_HOME đã được trỏ đến thư mục sai (cũ). Tôi phân bổ lại để sửa một. Trong trường hợp của tôi

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


1
Cảm ơn nó, tôi đã chỉ ra studio android được đề xuất ở một nơi khác.
jcubic

5

Đối với tôi, vấn đề là ANDROID_HOME đã trỏ đến một đường dẫn Android SDK cũ. Sau khi cài đặt Android Studio, tôi phải cập nhật ~ / .bash_profile cho phù hợp với MAC (El Capitan)

xuất ANDROID_HOME = "/ Người dùng / corliusparkin / Thư viện / Android / sdk"

Hãy nhớ khởi động lại thiết bị đầu cuối hoặc chạy lệnh này sau khi cập nhật ~ / .bash_profile

nguồn ~ / .bash_profile


5

FOR WINDOW: Tôi đã phải đối mặt với loại vấn đề này. Nhưng sau khi khám phá nó đã được giải quyết trong trường hợp của tôi. Tôi đang sử dụng window 10. chỉ cần làm theo vài bước dưới đây:

  1. tải xuống Android SKD Manager cho windows. https://developer.android.com/studio ở cuối trang này. Nó là tệp zip. sau khi giải nén nó sẽ hiển thị thư mục công cụ.

  2. Chuyển đến ổ C: \ tạo thư mục mới 'android-sdk'. sao chép thư mục công cụ và quá khứ trong
    C: \ android-sdk

  3. mở dấu nhắc lệnh với tư cách Quản trị viên. Đi tới cd "c: \ android-sdk \ tools \ bin". sdkmanager sẽ được hiển thị ở đây. gõ skdmanager, nó sẽ hiển thị như thế này [=========================================] 100 % Cập nhật máy tính ...

  4. sau đó gõ "sdkmanager platform-tools" nó sẽ tạo thư mục platform-tools trong C: \ android-sdk

  5. Bây giờ thiết lập Biến môi trường hệ thống: nhấp chuột phải vào thuộc tính chọn PC. cài đặt hệ thống sẽ bật lên. nhấp vào> Biến môi trường. Biến Môi trường sẽ bật lên.

  6. Tại cửa sổ này Các biến hệ thống như thế này. C: \ android-sdk \ platform-tools và C: \ android-sdk \ tools \ bin

  7. chạy lệnh xây dựng công cụ sdkmanager "build-tools; 27.0.3"

    Cũng đảm bảo rằng đường dẫn java được xác định. Tôi hy vọng nó sẽ giải quyết vấn đề.


Ở điểm không. 3 bạn đã đánh vần sai lầm "skdmanager" Nó phải làsdkmanager
Santosh

4

2018

The "android" command is deprecated.

thử

sdkmanager "build-tools;27.0.3"

Điều này phù hợp với tôi, như #Fadhil đã nói


3

Nhập android trên dòng lệnh của bạn và cài đặt "Android SDK Build-tools"


2
Trong trường hợp của tôi, bạn đã đúng. Tôi đã quên cài đặt các công cụ Tạo SDK Android từ Trình quản lý SDK. Cảm ơn!
tuchi35

2

Tôi tìm kiếm vấn đề này trong nhiều ngày .... Tôi hy vọng nó sẽ hữu ích

GIẢI PHÁP CUỐI CÙNG: (Tôi giả sử rằng bạn đã cài đặt Oracle-JDK và ANDROID)

open / etc / môi trường với

 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"

Lưu và thoát (CTRL + o CTRL + X)

Tải lại tệp source /etc/environment

Nếu gần đây bạn đã cài đặt Android, bạn nên chấp nhận một số giấy phép

cd ~/Android/Sdk/tools/bin/

Thực thi sdkmanager:

./sdkmanager --licenses

Sau đó, chấp nhận tất cả và cuối cùng tạo APK của bạn

cd {yourproyect}
sudo ionic cordova build android

1

Trong trường hợp của tôi, vấn đề là ANDROID_HOME đã trỏ đến ~/Library/Android/vì một số lý do. Con đường chính xác là~/Library/Android/sdk


0

Điều này làm việc cho tôi! hãy cẩn thận với các phiên bản java mới vì chúng gây ra lỗi, hãy kiểm tra xem bạn đã cài đặt mọi thứ và trong thư mục cụ thể của mình chưa,

Tôi không sử dụng 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 Thứ tư ngày 2 tháng 5 19:03:39 UTC 2018 x86_64 GNU / Linux

xem ảnh chụp màn hình trong shell của tôi


0

Tôi đã thêm <preference name="android-minSdkVersion" value="19" /> vào của mình conf.xmlvà quá trình xây dựng đã thành công.


0

Giải pháp cho câu hỏi này là ở đây https://docops.ca.com/devtest-solutions/8-0-2/en/installing/setting-up-the-mobile-testing-enosystem/preinstallation-steps-for-mobile -testing /

Vui lòng làm theo các bước này và giải quyết vấn đề của bạn.

Gói Android SDK chứa một thành phần được gọi là công cụ biên dịch. Thử nghiệm di động yêu cầu ít nhất phiên bản 19.0.1, 19.1.0 hoặc 20.0.0.

Nếu các phiên bản này không được cài đặt với gói ADT của bạn, bạn có thể nhận được thông báo lỗi khi tạo nội dung di động trong DevTest Workstation:


0

Mac IOS

Chỉnh sửa ~ / .bash_profile bằng cách sử dụng vi hoặc trình soạn thảo shell khác

vi ~/.bash_profile

Thêm các dòng sau:

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

(lưu tệp và thoát) tải các biến env đã cập nhật đó vào trình bao hiện tại env:

. ~/.bash_profile
  • Nếu vì lý do nào đó bạn có phiên bản cũ của các công cụ xây dựng, bạn có thể cập nhật chúng từ studio phát triển Android:
  • Định cấu hình -> Trình quản lý SDK -> chọn "Công cụ tạo SDK Android
  • Kiểm tra "Hiển thị chi tiết gói"
  • xem lại các phiên bản của gói này, cập nhật nếu cần

0

Chà Nhiều người đưa ra câu trả lời của họ, một số câu trả lời giống nhau, một số câu trả lời khác. Tôi thử nhiều câu trả lời nhưng chúng không làm việc cho tôi, tất nhiên tôi cũng thử từ câu trả lời trên nhưng không giải quyết được vấn đề của tôi. Và tôi không biết tại sao nhưng tôi gặp phải lỗi tương tự ngay cả khi vấn đề của tôi được giải quyết bằng TRẢ LỜI này . Tôi chỉ muốn viết nó có thể hữu ích cho ai đó.



0

Tôi đã giải quyết vấn đề này bằng các bước sau:

  1. Truy cập tệp cordova.gradle (platform / android / cordovaLib / cordova.gradle)
  2. Tìm kiếm phương thức getAndroidSdkDir ()
  3. Bây giờ chỉ cần thay thế System.getenv ("ANDROID_HOME") bằng đường dẫn SDK Android thực của bạn

0

Mở Command Prompt Kiểm tra đường dẫn ANDROID_HOME bằng cách sử dụng SET ANDROID_HOME, nếu không được đặt thì hãy đặt bằng lệnh dưới đây.

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

HOẶC mở các biến môi trường hệ thống và tạo biến mới dưới dạng

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

và mở tệp cordova.gradle ( /platforms/android/CordovaLib/cordova.gradle ) và tìm kiếm phương thức getAndroidSdkDir () và Thay thế đường dẫn ANDROID_HOME ( "C: / Users / VenkateshMogili / AppData / Local / Android / Sdk" ) thay vì System.getenv ("ANDROID_HOME")

Nếu vấn đề giấy phép phát sinh, hãy nhập lệnh dưới đây bằng cách mở dấu nhắc lệnh trong C: \ Users \ VenkateshMogili \ AppData \ Local \ Android \ Sdk \ tools \ bin

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

Nó làm việc cho tôi.


Không phải dòng thứ năm của nhật ký OP đã đăng đã cho thấy rằng đã ANDROID_HOMEđược đặt (thành /opt/android-sdk)?
LWChris

Sau khi kiểm tra Thư mục chính của bạn, hầu hết nó có thể xuất hiện trong Trang chủ / home / tên người dùng / Android / sdk Hãy thử thiết lập nếu tìm thấy. dán dòng dưới đây vào cuối tệp .bashrc (trong thư mục chính) xuất ANDROID_HOME = $ HOME / Android / Sdk
VenkateshMogili

0

Cảnh báo cho các nhà phát triển sử dụng Máy ảo

Tôi đã dành một thời gian rất dài để cố gắng giải quyết vấn đề này. Tôi đã thử mọi thứ trong bài đăng này và nhiều giải pháp khác trên web. Tuy nhiên, sau nhiều lần thất bại và trải qua những gì mọi người trên web nói, tôi vẫn không thể giải quyết sự cố trên máy ảo của mình - đó là hình ảnh Windows 10 trên VMWare Workstation.

Sau khi xem xét tất cả các giải pháp và mô tả về máy móc / hệ điều hành mà mọi người đang phát triển về sự khác biệt rõ ràng trong thiết lập của tôi là tôi đang phát triển trong một máy ảo.

Giải pháp: Tôi đã kéo tất cả mã của mình vào máy chủ (Hệ điều hành Windows 10), cài đặt lại tất cả các phần phụ thuộc và chắc chắn rằng tất cả mọi thứ đều hoạt động tốt trước tiên hãy đi xung quanh. Sau rất nhiều nghiên cứu, tôi đã tìm thấy một số cảnh báo rằng Android Studio có một số vấn đề đã biết xung quanh việc cài đặt đúng cách trong một số máy ảo. Vì vậy, nếu bạn giống tôi và đã thử tất cả các giải pháp (nhiều lần) và không có gì hiệu quả, nhưng bạn đang ở trong một máy ảo, bạn có thể cần phải xem xét xây dựng trên máy chủ của mình (hoặc máy vật lý khác)


0

Vấn đề này tôi đã giải quyết với chi tiết sau, bằng cách nào đó Android SDK quản lý đã cài đặt tất cả các tệp phụ thuộc và tệp cần thiết, nhưng quên `templates`tệp này ở nơi tìm thấy mẫu> gradle> wrapper. Bộ tệp này bị thiếu.

Ảnh chụp màn hình

Đường dẫn trong mac /Users/giogio/Library/Android/sdk/tools/templates


-1

Đi tới D: Android sdk \ Android SDK và nhấp vào Trình quản lý SDK và kiểm tra xem Công cụ xây dựng đã được cài đặt hay chưa nếu chúng chưa được cài đặt thì hãy cài đặt các công cụ đó


-1
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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.