Tôi gặp lỗi khi bắt đầu chạy Android
What went wrong:
A problem occurred evaluating project ':app'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
Tôi gặp lỗi khi bắt đầu chạy Android
What went wrong:
A problem occurred evaluating project ':app'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
Câu trả lời:
android/
thư mục của dự án gốc của bạnlocal.properties
với dòng này:sdk.dir = /Users/USERNAME/Library/Android/sdk
USERNAME
Tên người dùng macOS của bạn ở đâu
sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
local.properties
dán đường dẫn SDK Android của bạn như bên dưới
sdk.dir = C:\\Users\\USERNAME\\AppData\\Local\\Android\\sdk
sdk.dir = /Users/USERNAME/Library/Android/sdk
sdk.dir = /home/USERNAME/Android/Sdk
Thay thế USERNAME
bằng tên người dùng của bạn
Bây giờ, Chạy react-native run-android
trong thiết bị đầu cuối của bạn.
sdk.dir=/home/USERNAME/Android/Sdk
Bạn có thể thử thêm ANDROID_PATH
export ANDROID_HOME=/Users/<username>/Library/Android/sdk/
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
ANDROID_PATH
trong môi trường (tệp Ubuntu, .bashrc). Tuy nhiên, vì một số lý do tôi vẫn nhận được vấn đề. Tôi đã sửa nó bằng cách tạo local.properties
và đặt đường dẫn như đã nêu trong các câu trả lời khác.
local.properties
đã làm, tuy nhiên.
Mở ~/.bash_profile
và thêm:
export ANDROID_HOME=~/Library/Android/sdk/
export PATH=$PATH:~/android-sdks/platform-tools/
export PATH=$PATH:~/android-sdks/tools/
source ~/.bash_profile
để làm cho các dòng xuất mới có hiệu lực.
KHÔNG CẬP NHẬT local.properties
, nó chắc chắn là một thực hành xấu.
Đây là cách tôi sửa nó. Thêm vào sau trong ~/.bash_profile
hoặc ~/.bashrc
.
export ANDROID_HOME=/usr/local/share/android-sdk
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/build-tools/23.0.1:$PATH
Lưu ý: Tôi đã sử dụng brew cask
để cài đặt Android SDK theo các hướng dẫn sau .
echo "sdk.dir = /Users/$(whoami)/Library/Android/sdk" > android/local.properties
Nếu bạn đang thoát windows (thêm backlash vào) dấu gạch chéo ngược và dấu hai chấm trong android/local.properties
tệp. Nếu nó không ở đó thì tạo ra nó
sdk.dir = C\:\\Android\\sdk
Các bước được cập nhật cho React Native0.58 để bắt đầu trên MAC / Unix
nano ~ / .bash_profile
xuất ANDROID_HOME = $ HOME / Thư viện / Android / sdk
xuất PATH = $ PATH: $ ANDROID_HOME / trình giả lập
xuất PATH = $ PATH: $ ANDROID_HOME / công cụ
xuất PATH = $ PATH: $ ANDROID_HOME / tools / bin
xuất PATH = $ PATH: $ ANDROID_HOME / công cụ nền tảng
Control+S to save
Control+X to exit
Y to save changes
source ~/.bash_profile
echo $PATH
adb devices
Dành cho người dùng Windows
Một giải pháp đơn giản là đặt đường dẫn SDK vào danh sách Biến môi trường.
Ghi chú:
Android Sdk của bạn thường nằm ở
C: \ Users \ YourUserName \ AppData \ Local \ Android \ Sdk
Đảm bảo đóng thiết bị đầu cuối hiện tại của bạn vì thiết bị đầu cuối của bạn chứa tất cả các Biến môi trường có sẵn của bạn.
Dự án của bạn không tìm thấy SDK được đặt trong Cài đặt dự án thông qua đường dẫn được cung cấp, vì vậy dự án cần được chỉ đúng hướng và bạn có một vài tùy chọn để thực hiện điều này, nhưng trước tiên hãy bắt đầu bằng cách tìm thư mục SDK chính xác.
Từ quản lý gói
Nếu bạn đang sử dụng một JRE gói cài đặt dựa trên như Java 8 JRE qua một phong tục PPA trong một bản phân phối Debian-based, hoặc sử dụng OpenJDK , thư mục sẽ có khả năng nhất là / usr / lib / jvm / java-8-oracle (hoặc bất cứ phiên bản nào bạn đã chọn). Bạn có thể tìm thấy đường dẫn này được đặt trong biến môi trường JAVA_HOME :
$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Tải về bằng tay
Nếu bạn đã cài đặt thông qua tải xuống Java JRE / SDK , nó sẽ ở bất cứ nơi nào bạn đặt thư mục, ví dụ: home / username /jdk-8u121_1.8.0 (hoặc một cái gì đó tương tự).
Các bản cài đặt theo kịch bản thậm chí có thể thêm SDK vào / opt / java-8-orory , nhưng khi viết bài này, các hướng dẫn Cài đặt Java để lại vị trí thư mục trong tay bạn.
Studio Android 2.2
Cuối cùng, nếu bạn đang sử dụng Android Studio, SDK được đặt ở nơi bạn đã đặt nó để đặt các tệp SDK được tải xuống thông qua Trình quản lý SDK của Studio. Bằng cách đi tới Tệp> Cài đặt> Giao diện & Hành vi> Cài đặt hệ thống> SDK Android , bạn có thể tìm thấy cài đặt vị trí SDK ở trên cùng với tùy chọn để thay đổi và thư mục mặc định là ~ / Android / Sdk .
Bây giờ chúng ta đã biết SDK ở đâu, đã đến lúc để phản ứng tự nhiên biết.
Tùy chọn 1: Đặt với local.properies
Phương pháp này rất đơn giản và tất cả những gì cần thiết là tạo tệp local.properations trong thư mục sau, trong đó Project_Folder là cơ sở của ứng dụng React-Native của bạn:
Project_Folder / Android / Ứng dụng
Trong local.properies của bạn, bạn muốn đặt biến sdk.dir thành đường dẫn của thư mục SDK của bạn:
sdk.dir=/home/username/Android/Sdk
Mặc dù đây là cách dễ nhất để khắc phục vấn đề, nhưng nó không phải là cách tốt nhất, đặc biệt nếu bạn làm việc với nhiều dự án. Đối với mỗi dự án, bạn sẽ phải tạo tệp này cho mọi dự án và nếu thư mục thay đổi kế hoạch thay đổi tệp này cho từng local.properies của dự án.
Khi tệp được lưu, hãy chạy lại lệnh run-android gốc .
Tùy chọn 2: Cài đặt các thư mục có biến môi trường
Tùy chọn khác là đặt các thư mục SDK thành các biến môi trường cục bộ mà React-Native tìm theo mặc định. Để làm như vậy, chúng tôi sẽ thêm đường dẫn ANDROID_HOME. Như một phần thưởng, chúng tôi cũng có thể thêm các công cụ Android của mình ở cùng một nơi. Chúng ta cần thêm tệp này vào các tệp .bash_profile hoặc .profile trong thư mục chính của chúng tôi, được tải sau cùng, vì vậy chúng tôi có thể đảm bảo rằng không có gì khác ghi đè lên cài đặt chúng tôi thực hiện. Vì đây là trong thư mục nhà của bạn, không cần phải chỉnh sửa với các đặc quyền leo thang.
**$ vim ~/.profile** (use nano or pico if you prefer)
Trong tệp thêm các dòng sau thay thế thư mục SDK bằng thư mục bạn tìm thấy ở trên. Tôi sẽ sử dụng thư mục Android Studio làm ví dụ:
export ANDROID_HOME="~/Android/Sdk"
export PATH=$PATH:~/Android/Sdk/tools:~/Android/Sdk/platform-tools
Lưu tệp, sau đó áp dụng các cài đặt hồ sơ:
$ source ~/.profile
$ echo $ANDROID_HOME
/home/dbrown/Android/Sdk
Nếu thư mục Sdk hiển thị chính xác, xin chúc mừng! Chạy lại lệnh phản ứng gốc của bạn và xem quá trình xây dựng ứng dụng tiếp tục chuyển tiếp.
Nếu bạn vẫn có vấn đề
Nếu vì lý do nào đó bạn nhận được lỗi " > không tìm thấy mục tiêu với chuỗi băm 'android-23' trong: thư mục / sdk / của bạn, bạn cần đảm bảo rằng phiên bản xây dựng của dự án và phiên bản của SDK được cài đặt phù hợp (React -Native mặc định là 23.0.1). Bạn có thể tìm phiên bản mặc định trong Project_Folder / android / app / build.gradle , sau đó tìm kiếm buildToolsVersion . Tất nhiên bạn có thể thay đổi phiên bản từ tệp này hoặc trong Android Studio đi đến Tệp > Cấu trúc dự án để thay đổi SDK dự án . Tôi sẽ không đề xuất thay đổi phiên bản này trừ khi bạn hoàn toàn biết bạn đang làm gì, nếu không thì cài đặt phiên bản SDK mà dự án đang tìm kiếm.
Trên Ubuntu, nơi bạn có để có được SDK riêng biệt với Android Studio lạ đường dẫn sẽ hoạt động với Android Studio nhưng với Phản ứng Native, bạn sẽ cần phải tạo ra một tên tập tin local.properties
.
Ví dụ quán trọ ~/AwesomeProject/android
và chèn dòng này:
sdk.dir=/path/to/sdk/in/your/computer
Điều này làm việc cho tôi.
Tôi đang dùng React Native của Stephen Grider trên Udemy và một trong những sinh viên đã đăng bài này trong Bài giảng 50. Dán nguyên văn trong dòng lệnh (tất nhiên là w / o '$').
$ export "ANDROID_HOME=/usr/local/opt/android-sdk" >~/.bash_profile
> The SDK directory '/usr/local/opt/android-sdk' does not exist.
Giải pháp tốt nhất tôi có thể tìm thấy như sau:
Đây là cách tập tin gradle sẽ trông như thế nào:
Nếu mọi thứ đã diễn ra tốt đẹp với thiết lập máy của bạn và bạn có thể biên dịch dự án bằng Android Studio thì sẽ không có gì ngăn cản bạn xây dựng ứng dụng của mình thông qua lệnh android cli build gốc.
Với phương pháp này, không chỉ bạn sẽ giải quyết vấn đề về SDK, bạn cũng sẽ giải quyết nhiều vấn đề liên quan đến thiết lập máy để phát triển Android. Việc nhập sẽ tự động tìm vị trí SDK và tạo local.properies. Do đó bạn không cần phải lo lắng về các can thiệp thủ công.
Dành cho người dùng Linux
Ứng dụng của bạn không nhận được đường dẫn của android-sdk, vì vậy Nếu bạn đang sử dụng linux (ubfox), bạn cần thêm một tệp có tên "local.properIES" và lưu nó vào thư mục android, được tạo trong thư mục ứng dụng của bạn .
Bạn cần thêm dòng bên dưới vào tệp local.properIES, đây là đường dẫn của android-sdk của bạn nằm trong hệ thống của bạn bên trong hệ thống để chạy ứng dụng.
sdk.dir=/opt/android-sdk/
lưu và chạy lại lệnh Reac -igen run-android
HOẶC LÀ
bạn có thể mở terminal, gõ
sudo nano ~ / .bashrc
và dán đường dẫn bên dưới vào cuối tập tin
xuất ANDROID_HOME = "/ opt / android-sdk /"
và khởi động lại máy tính của bạn và chạy lại Reac-android run-android sau đó.
Lưu ý: - Nếu bạn đặt đường dẫn đã đặt trong tệp .bashrc, thì bạn thậm chí không cần tạo tệp local.properIES.
Nếu bạn tạo và android studio
chiếu, bạn có thể thấy một local.properties
tệp được tạo trong thư mục gốc của dự án. Khi bạn tạo một dự án gốc phản ứng, Nó không tạo tệp đó cho bạn. Vì vậy, bạn phải tạo nó bằng tay. Và phải thêm skd dir vào nó. Vì vậy, tạo một tập tin mới trong thư mục Android (trên root). và đặt đường dẫn sdk của bạn như thế này
sdk.dir=D\:\\Android\\SDK\\android_sdk_studio .
Ghi nhớ: xóa đơn \ với double. Cũng giống như trên.
Có 2 cách để giải quyết vấn đề này:
Đơn giản chạy dự án Android gốc phản ứng của bạn trong studio android, nó sẽ tự động tạo tệp local.properIES của bạn trong dự án Android gốc phản ứng.
a. Chuyển đến Dự án gốc React -> Android
b. Tạo một tệp local.properies
c. Mở tệp
d. Dán đường dẫn SDK Android của bạn như bên dưới
Trong Thư mục dự án của bạn có một thư mục gọi là "android" và bên trong nó có tệp local.properIES. Xóa tệp và bản dựng sẽ chạy thành công
Nếu tệp local.properIES bị thiếu, chỉ cần tạo một tệp trong thư mục "dự án / android" với 'sdk.dir = / Users / apple / Library / Android / sdk' và đảm bảo SDK của bạn ở vị trí đó.
để tạo một tệp có phần mở rộng tùy chỉnh trên mac, hãy tham khảo liên kết sau
Làm cách nào để lưu tệp TextEdit (mac) với tiện ích mở rộng tùy chỉnh (.sas)?
Có hai tệp lớp, thay đổi tệp bên trong C: \ myapp \ android \ build.gradle và không có trong thư mục mẹ myapp.
Thay thế 23.0.1 bằng phiên bản Công cụ xây dựng Android của bạn được cài đặt trong trường hợp của tôi 25.0.0
Chạy Reac -igen run-android để xem ứng dụng của bạn trong trình giả lập.
Chỉ cần mở thư mục android trong dự án của Android Studio . Studio Android tạo tệp cần thiết (local.properies) và tải xuống phiên bản SDK để chạy Android cần thiết.
Vấn đề là bạn đã cấu hình sai các biến môi trường. Bạn phải sử dụng (trong Windows) SDK của:C:\Users\YOUR_USERNAME\AppData\Local\Android\Sdk
Để biết thêm thông tin: https://facebook.github.io/react-native/docs/getting-started
Chọn: React Native CLI Quickstart trong phần môi trường phát triển Android ở điểm 3. Định cấu hình ANDROID_HOME
biến môi trường
Nếu bạn làm điều đó như bạn có ngay bây giờ, bạn phải cấu hình từng dự án để sử dụng các biến môi trường của bạn và nếu dự án nằm trong số nhiều người có thiết bị của họ thì điều đó có thể gây ra sự cố. Nếu bạn làm như tôi đã nói với bạn, bạn sẽ không phải cấu hình bất kỳ dự án nào.
Nếu bạn đã cài đặt android studio, chỉ cần mở Project/android
Android Studio và nó sẽ thông báo cho bạn để chuyển đường dẫn vị trí SDK trong dự án.
Sao chép dự án android.properations khác của hệ thống của bạn và dán vào thư mục Android của dự án gốc React mà nó sẽ hoạt động.
sdk.dir=C\:\\Users\\paul\\AppData\\Local\\Android\\Sdk