PANIC: Đường dẫn hệ thống AVD bị hỏng. Kiểm tra giá trị ANDROID_SDK_ROOT của bạn


151

Sau khi gõ cordova run androidvào terminal, tôi gặp lỗi này:

Waiting for emulator to start...
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/username/Library/Android/sdk]!

Điều này xảy ra sau khi xuất:

export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'

Trước khi xuất tôi đã nhận:

Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT

Bất cứ ý tưởng mà tôi đang đi sai? Tôi chắc chắn đây là root sdk vậy tại sao tôi lại bị hỏng đường dẫn hệ thống avd?


Bạn có quản lý để khởi chạy trình giả lập với AVD Manager không? (Nằm trong <AndroidSDK> \ AVD Manager.exe)
e666

4
Tôi cũng đang đối mặt với vấn đề này trên Visual Studio trong khi tạo ứng dụng đa nền tảng. Văn bản lỗi của tôi là1>PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT 1>Emulator Nexus_5X_API_23 cannot be started.
RBT

Tôi vừa mở trình quản lý SDK Android và cài đặt mọi thứ ở đó (Công cụ, nhiều cấp độ API, Extras). Nghĩa đen! Nó giải quyết vấn đề của tôi. Mặc dù vậy, tôi đã phải đối mặt với nhiều vấn đề hơn sau đó liên quan đến công nghệ HAXM của Intel cần thiết để chạy trình giả lập Android. Họ phải được giải quyết khác nhau.
RBT

1
Bản sao có thể có
coelhudo

2
Tôi có thể khởi chạy avd thông qua studio android. Tôi gặp lỗi này khi cố gắng khởi chạy từ dòng lệnh. Có lỗi PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/usr/local/share/android-sdk]!khi tôi kiểm tra đường dẫn đó ->echo $ANDROID_SDK_ROOT /usr/local/share/android-sdk. Vì vậy, trình giả lập gặp sự cố mặc dù đường dẫn là chính xác.
Mike S.

Câu trả lời:


163

Có thể có một số vấn đề khác nhau khi bạn di chuyển AVD hoặc SDK của mình sang thư mục khác hoặc thay thế SDK cũ bằng SDK mới hoặc bằng cách nào đó khiến SDK bị hỏng.

Dưới đây tôi sẽ mô tả tất cả các vấn đề có thể tôi biết, và sẽ cung cấp cho bạn một số cách để giải quyết chúng.

Tất nhiên tôi giả sử rằng bạn có bất kỳ AVD nào được tạo và nó nằm trong C:\Users\<user_name>\.android\avd(Windows) hoặc ~/.android/avd(Linux / MacOS).

Nếu bạn đã chuyển .androidđến một nơi khác thì hãy đặt ANDROID_SDK_HOMEbiến môi trường thành đường dẫn của thư mục mẹ chứa của bạn .androidvà đảm bảo Trình quản lý AVD tìm thấy thành công Thiết bị ảo của bạn.

Cũng kiểm tra đường dẫn trong <user_home>/.android/avd/<avd_name>.ini


Cấu trúc SDK không đầy đủ / bị hỏng

PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value

2 lỗi này xảy ra nếu trình giả lập không thể tìm thấy SDK hoặc SDK bị hỏng.

Vì vậy, trước hết tôi khuyên bạn nên loại bỏ ANDROID_SDK_ROOTbiến này. Nó chỉ cần thiết khi trình giả lập được đặt bên ngoài thư mục SDK. Nhưng nói chung, trình giả lập của bạn vẫn nằm trong thư mục SDK. Và trong trường hợp này, nó phải tự động phát hiện vị trí SDK . Nếu không, SDK của bạn có thể có filetree sai. Hãy làm như sau:

  1. Kiểm tra xem thư mục SDK có ít nhất những 4 thư mục: emulator, platforms, platform-tools, system-images. Rất quan trọng! Những thư mục này phải có mặt. Nếu một số trong số chúng không tồn tại, thì chỉ cần tạo các thư mục trống.

  2. Đi đến <user_home>/.android/avd/<avd_name>và mở config.ini. Tìm image.sysdir.1tài sản. Nó trỏ vào thư mục, bên trong thư mục SDK, chứa hình ảnh hệ thống thực tế. Đảm bảo rằng thư mục này tồn tại và chứa các tệp như build.prop, system.imgv.v. Nếu không, thì bạn phải mở Trình quản lý SDK và tải xuống hình ảnh hệ thống mà AVD của bạn yêu cầu (xem bên dưới).

Nếu mọi thứ được thiết lập đúng, khi những lỗi này ANDROID_SDK_ROOTphải biến mất. Nếu họ không phải, thì bây giờ bạn có thể cố gắng thiết lập ANDROID_SDK_ROOTbiến.


Các gói bắt buộc và HAXM không được cài đặt

Vấn đề tiếp theo bạn có thể gặp phải là trình giả lập bắt đầu khởi chạy, nhưng bị treo hoặc thoát ngay lập tức. Điều đó có thể có nghĩa là bạn không cài đặt tất cả các gói cần thiết.

Một lỗi khác có thể là:

Không thể tự động phát hiện nhị phân ADB. Một số chức năng giả lập sẽ không hoạt động cho đến khi một đường dẫn tùy chỉnh tới ADB được thêm vào trong trang cài đặt mở rộng.

Vì vậy, để khởi chạy thành công bất kỳ AVD nào, bạn phải chắc chắn rằng ít nhất các gói này đã được cài đặt:

emulator (Android Emulator)
platform-tools (Android SDK Platform-Tools)
tools (Android SDK Tools)

Và như tôi đã đề cập trước đó, bạn phải cài đặt hình ảnh hệ thống mà AVD của bạn đang sử dụng, ví dụ system-images;android-25;google_apis;x86

Lưu ý rằng các phiên bản gần đây nhất trên SDK không có độc lập SDK Manager.exe. Thay vì sử dụng, bạn phải sử dụng Android Studio hoặc tools\bin\sdkmanager.bat(Linux / MacOS có thể có shtệp).

Để liệt kê tất cả các gói có sẵn sử dụng sdkmanager --listhoặcsdkmanager --list --verbose

Để cài đặt gói sử dụng sdkmanager <package1> <package2> ...

Ngoài ra tôi khuyên bạn nên cài đặt HAXM trên hệ thống của mình theo cách thủ công.


Các tập tin Qcow2 đề cập đến hình ảnh cơ sở không chính xác / không tồn tại

Vấn đề cuối cùng tôi sẽ đề cập đến xảy ra khi bạn đang cố gắng di chuyển AVD hoặc SDK từ máy tính hoặc thư mục này sang máy tính khác. Trong trường hợp này bạn có thể nhận được lỗi như vậy:

qemu-system-i386.exe: -drive if = none, chồng chéo-check = none, cache = không an toàn, index = 0, id = system, file = C:\Users\<old_user_name>\.android\avd\<avd_name>.

avd \ system.img.qcow2, chỉ đọc: Không thể mở tệp sao lưu: Không thể mở ' <old_sdk_dir>\system-images\android-22\google_apis\x86\system.img': Đối số không hợp lệ

Có 2 cách để khắc phục:

  1. Nếu bạn không quan tâm đến dữ liệu mà AVD chứa, chỉ cần xóa tất cả các qcow2tệp khỏi thư mục AVD (ví dụ: từ <user_home>/.android/avd/<avd_name>). Trong trường hợp này, bạn sẽ có được một phiên bản Android sạch, như sau khi thiết lập lại cứng.

  2. Nếu dữ liệu trên trình giả lập là quan trọng đối với bạn, thì hãy mở từng qcow2tệp một bằng bất kỳ trình soạn thảo HEX nào (tôi thích HxD ), tìm đường dẫn của imgtệp cơ sở và thay đổi nó thành đúng tệp trong Overwritechế độ (để giữ nguyên Kích thước tập tin). Sau đó chọn đường dẫn và lấy chiều dài của nó trong hex (ví dụ 2F). 2Fđại diện cho dấu gạch chéo ASCII /. Đặt nó vào vị trí 13:

Chỉnh sửa tập tin qcow2 trên Android bằng trình chỉnh sửa HxD HEX

PS: Không chắc chắn, nhưng có thể có một số sử dụng như qemu-img cho phép đặt hình ảnh cơ sở khác nhau. Vâng, với tôi nó dễ dàng hơn để chỉnh sửa nhị phân.


Bây giờ có lẽ bạn sẽ có thể khởi chạy thành công Thiết bị ảo Android của mình. Tôi cũng mong là như vậy :)


Một lý do khác có thể bị thiếu hw.cpu.archtrong config.ini
daserge

2
Tôi đã làm theo tất cả các hướng dẫn và tôi vẫn nhận được đường dẫn hệ thống AVD bị hỏng.
cuộn

Tuyệt vời. Cũng được thực hiện với các tập tin cơ sở qcow! Bạn có biết về một cách chung hơn để rebase các tập tin qcow? Tôi muốn chia sẻ AVD của mình với nhiều người ...
Amit Moran

@daserge al các tệp '.ini' của tôi có định dạng lạ (chúng thiếu ngắt dòng sau mỗi tham số), điều đó có bình thường / ổn không?
J3STER

1
Cảm ơn, thư mục công cụ nền tảng đã bị thiếu trong trường hợp của tôi vì vậy tôi đã cài đặt nó bằng lệnh tools/bin/sdkmanager "platform-tools". Thật là đau đớn khi tìm thấy những gì sai vì thông báo lỗi ngu ngốc này ("PANIC: Không thể tìm thấy đường dẫn hệ thống AVD. Vui lòng xác định ANDROID_SDK_ROOT") không nói rõ vấn đề là gì ...
baptx

128

Trên Mac: Tôi đã cài đặt android-sdkbằng brewAndroid Studio. Bằng cách nào đó, có 2 cài đặt đã gây ra vấn đề này. Khi tôi gỡ cài đặt sdk của tôi bằng cách sử dụng brew cask uninstall android-sdkvà thêm các vars sau vào env của tôi. Nó đã làm việc.

export ANDROID_HOME=/Users/<Username>/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME

18
Trước đây tôi đã cài đặt sdk android bằng cách sử dụng brew trong khi làm theo hướng dẫn về bản gốc. Sau khi cài đặt Android Studio, tôi thấy trình giả lập sẽ không khởi chạy. Sửa chữa của bạn đã giải quyết vấn đề của tôi. Cảm ơn bạn!
Cocoanut

2
Điều này làm việc cho tôi quá. Tôi cũng đã cài đặtandroid-sdk trong quá trình cài đặt NativeScript. Trình giả lập kích hoạt trực tiếp từ Android Studio ngay bây giờ, nhưng không phải thông qua NativeScript (tns chạy android)
Mudlabs

3
Nó đã giải quyết vấn đề của tôi, nhưng không xóa phiên bản android-sdk của brew.
mawnk

1
các công cụ dòng lệnh không được dùng nữa. Bước tiến tốt nhất trong tương lai là cài đặt AS đúng cách và tránh các thùng bia facebook.github.io/react-native/docs/iêu
Harry Moreno

1
Sau rất nhiều tìm kiếm, điều này cuối cùng đã giải quyết vấn đề của chúng tôi. Cảm ơn bạn rất nhiều!!!
dùng3575337

27

Điều này sẽ giải quyết vấn đề của bạn trong macOS:

pico ~/.bash_profile

export ANDROID_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_SDK_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_AVD_HOME=/Users/$USER/.android/avd
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_AVD_HOME

source ~/.bash_profile

4
Sau nhiều lần thử, đây là tác phẩm duy nhất, cảm ơn bạn rất nhiều: D
Alan Cordova

Hoạt động hoàn hảo Cảm ơn.
Herman Demsong

@SundayOkoi nó đi vào thư mục nhà của bạn
1800 THÔNG TIN

Giống tôi. Điều này làm việc cho tôi. Mặc dù tôi đã thực hiện những thay đổi nhỏ trên cái này.
Edper

15

Xóa lỗi trong khi sử dụng SDK Android của Homebrew làm SDK mặc định

Như @EFreak tôi đã cài đặt android-sdk với homebrew (trình quản lý gói cho máy Mac). Tôi cần phải làm như dưới đây để sửa lỗi, bởi vì tôi đang theo các hướng dẫn bản địa và gặp lỗi. Nếu bạn thích tôi có ý định sử dụng phiên bản brew trên phiên bản android-sdk, hãy sử dụng câu trả lời này (điều này sẽ cho phép bạn sử dụng tns run androidapi bản mô tả api) và nếu bạn muốn android-sdk mặc định của studio theo câu trả lời của @ EFreak.

Định cấu hình Android Studio để sử dụng SDK Android của Homebrew

Về cơ bản, bạn chỉ cần thay đổi vị trí SDK Android của mình trong studio Android. Đầu tiên mở một dự án trong studio android. Sau đó mở Trình quản lý SDK bằng cách nhấp vào nút này.

vị trí nút quản lý sdk android

Tiếp theo khi các tùy chọn mặc định cho trình quản lý SDK Android xuất hiện, bạn cần nhấp vào chỉnh sửa bên cạnh vị trí SDK Android.

nhập mô tả hình ảnh ở đây

Tìm vị trí SDK Android của Homebrew

Tiếp theo, bạn cần cập nhật vị trí sdk trên màn hình thiết lập các thành phần sdk, brewandroid-sdk của tôi được đặt ở đây /usr/local/share/android-sdk. Bạn có thể tìm thấy nơi của bạn được cài đặt bằng cách chạy brew cask info android-sdksau đó ở gần dưới cùng của đầu ra, nó sẽ nói:

You can control android sdk packages via the sdkmanager command.
You may want to add to your profile:

  'export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"'

Giá trị của biến exported ANDROID_SDK_ROOT(ở đây là /usr/local/share/android-sdk) là vị trí của nhà sản xuất sdk android.

Sau đó, bạn cần nhấp vào nút Vị trí SDK Android (được dán nhãn là 1 trong ảnh) và dán vào vị trí SDK Android của Homebrew.

nhập mô tả hình ảnh ở đây

Sau đó, chỉ cần kết thúc trình hướng dẫn bằng cách cài đặt bất kỳ gói nào. Tôi cần phải xóa và tạo lại trình giả lập thiết bị của mình ở bước này, nhưng nó dường như hoạt động rất tốt sau đó.

Đặt môi trường SDK Android biến thành trỏ tới SDK Android của Homebrew

Ngoài ra, bạn có thể muốn chắc chắn rằng nếu bạn đang đi tuyến đường Homebrew mà tập lệnh cài đặt hồ sơ của bạn có các biến môi trường ANDROID_HOMEANDROID_SDK_ROOTbiến được đặt thành vị trí Homebrew của bạn trên sdk android nếu không thì cách trên vẫn chưa hoạt động. Điều này có thể được thay đổi từ vị trí Homebrew nếu bạn đã cài đặt Homebrew trước khi cài đặt Android Studio như được chỉ ra trong câu trả lời này của @Jamie Armor . Bạn có thể kiểm tra các biến môi trường cho sdk android được đặt chính xác bằng cách chạy echo $ANDROID_HOMEecho $ANDROID_SDK_ROOT và xác minh rằng cả hai đều hiển thị vị trí Homebrew của Android SDK.

Nếu bạn cần thay đổi các giá trị ANDROID_HOME và ANDROID_SDK_ROOT, bạn có thể thực hiện việc này trong cài đặt cấu hình trong máy Mac của mình, có thể có dạng như ~/.bash_profile"~ / .bashrc" hoặc "~ / .profile" và được xác định như vậy:

export ANDROID_HOME="/usr/local/share/android-sdk"
export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"

Bạn cần thay đổi giá trị của cả hai bản xuất thành giá trị phù hợp của vị trí SDK Android của Homebrew sau đó lưu tệp. Để xác minh rằng các giá trị đúng đã được ghi, trước tiên bạn nên đóng và mở thiết bị đầu cuối của bạn để chạy lại tệp và đặt lại các biến môi trường hoặc bạn có thể tìm nguồn tệp bằng cách chạy source <profile file name>tệp hồ sơ bạn đã chỉnh sửa và lưu ở đâu. Sau đó, bạn có thể chạy lại echo $ANDROID_HOMEecho $ANDROID_SDK_ROOTđể xác minh rằng họ có vị trí sdk của Homebrew.


3
Anh hùng! Các tài liệu NativeScript hoàn toàn bỏ qua việc đề cập đến khía cạnh này.
Jamie Birch

Tôi không nghĩ rằng bạn cần cài đặt brew để có thể chạy tns run android.Điều này hoạt động với tôi trước khi tôi chạy tập lệnh thiết lập bản địa. Kịch bản đã phá vỡ rất nhiều thứ -_-
Felipe Centeno

1
@FelipeCenteno yeah bạn không cần pha để làm điều này. Đây chỉ là cách bạn làm điều đó nếu bạn đã cài đặt tất cả các sdk Android với brew. Bạn có thể sử dụng câu trả lời của EFreaks nếu bạn chỉ sử dụng sdk của studio android mặc định.
Giăng

14

Nó có nghĩa là đường dẫn đến các công cụ của bạn là không chính xác. Đây là những gì nó trông giống như trên một mac sử dụng brew. Tâm trí phiên bản.

export ANDROID_SDK_ROOT='/usr/local/Cellar/android-sdk/24.4.1_1'

Trong trường hợp của bạn, có vẻ như bạn nên chạy nó:

export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'

3
Lỗi vẫn vậy. Ngoài ra, tôi đã kiểm tra lại và ANDROID_SDK_ROOTđược thiết lập .bash_profile. Thậm chí còn echo $ANDROID_SDK_ROOTđưa ra đường dẫn chính xác: /usr/local/Cellar/android-sdk/24.4.1_1 Tôi đang sử dụng macOS với HomeBrew.
Shivam Maheshwari

12

Tôi gặp vấn đề tương tự trong Windows10, Đã
giải quyết vấn đề của mình bằng cách làm theo các bước dưới đây.
mở Android Studio
- Công cụ
- Trình quản lý SDK
- sao chép Vị trí
SDK Android Android SDK Vị trí
đặt biến môi trường hệ thống
ANDROID_HOME và ANDROID_SDK_ROOT
biến môi trường hệ thống


Tôi gặp vấn đề tương tự. Cảm ơn.
Jason Chính

Tôi đã phải đối mặt với cùng một vấn đề, và giải quyết với các hướng dẫn này.
SuKu

8

Tôi đã có vấn đề tương tự sau khi cập nhật trình giả lập. Vấn đề đã được giải quyết sau khi thêm biến ANDROID_AVD_HOME nhập mô tả hình ảnh ở đây

Quan trọng: Không thể sử dụng các ký tự không phải ASCII trong đường dẫn. Cuối cùng cài đặt lại các thiết bị ảo hoặc ghi đè thủ công đường dẫn thiết bị trong tệp Cấu hình cài đặt tệp có chứa đường dẫn cũ với các ký tự không phải mã ascii.

C:\Users\<user_name>\.android\avd\<avd_name>

Yup, các ký tự không phải ASCII, nó quan trọng. Sau khi loại bỏ các nhân vật này tất cả hoạt động tốt. Cách xóa superuser.com/questions/1355431/ Mạnh
Alex Z

8

Tôi đã chạy Android Studio trên Windows 10, đặt ANDROID_HOME và ANDROID_SDK_ROOT trên Biến môi trường và vẫn gặp lỗi.

Hóa ra, tôi quên tải thiết bị.

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Sau khi tải xuống "Thiếu hình ảnh hệ thống", mọi thứ đều hoạt động tốt.


2
Chúa tôi. Tôi đặt rất nhiều biến môi trường không cần thiết lập. tất cả tôi phải làm là tải về một cái gì đó. Cảm ơn.
Andy

7

Trong trường hợp của tôi, nó đã bị hỏng vì ANDROID_HOME và ANDROID_SDK_ROOT khác nhau, vì vậy một khi tôi đặt ANDROID_HOME giống như ANDROID_SDK_ROOT thì nó bắt đầu hoạt động.


1
Vâng, cảm ơn, điều đó có hiệu quả với tôi và như @Blagojce đã nói rằng tôi đã thêm rằng C: \ Users \% tên người dùng% \ AppData \ Local \ Android \ sdk \ trong cả hai biến ANDROID_HOME và ANDROID_SDK_ROOT
Abdelhadi Abdo

Điều đó cũng cố định nó cho tôi. Rất có thể tôi đã cài đặt SDK Android trước khi cài đặt Visual Studio / Xamarin.
49

6

Câu trả lời của Oleg Cherrs dẫn tôi đến một giải pháp. Như anh ấy đã đề cập

Truy cập /.android/avd/ và mở config.ini. Tìm thuộc tính> image.sysdir.1. Nó trỏ vào thư mục bên trong SDK chứa hệ thống> hình ảnh. Đảm bảo rằng thư mục này tồn tại và chứa các tệp như build.prop,> system.img, v.v. Nếu không, bạn phải mở Trình quản lý SDK và> tải xuống hình ảnh hệ thống mà AVD của bạn yêu cầu (xem bên dưới).

Tôi tìm thấy tệp giả lập * .ini tương ứng trong thư mục avd. Ở đó tôi đã sửa đổi mục "image.sysdir.1". Tôi đã thay thế họ hàng bằng một đường dẫn tuyệt đối (nối thêm ANDROID_SDK_ROOT ở phía trước). Sau đó, trình giả lập bắt đầu từ dòng lệnh như mong đợi.


Tôi cũng làm việc với tôi, chỉ có giải pháp hoạt động theo WIN10 x64 với tất cả các biến PATH được đặt chính xác. (FYI: Tôi đã nối đường dẫn tuyệt đối của ANDROID_SDK_ROOT thay vì chính biến)
Max Methot

Tôi đã đi đến C:\Users\edkol\.android\avdnhưng tôi không thấy bất kỳ config.ini nào - tôi có cần thêm nó không? Nếu vậy, tôi có thể lấy nó ở đâu?
ekolis

6
  • Thư mục Platfoms bị thiếu trong / usr / local / share / android-sdk .

  • Tôi đã tạo một thư mục trống có tên là nền tảng khắc phục sự cố.


5

ok tôi có thể chạy Android từ cordova, tôi đã đổi ANDROID_HOME thành,

export ANDROID_HOME=/usr/local/opt/android-sdk

5

Bạn nên thêm Trình giả lập AVD. Tới địa điểm này:

C:\Users\%username%\AppData\Local\Android\sdk\

khởi động Trình quản lý AVD và trong tab thứ hai (Định nghĩa thiết bị), nhấp vào nút "createdAVD".


3

Chỉ cần chạy vào vấn đề đó ngày hôm nay và quản lý để giải quyết nó.

Trình giả lập: [140735565005632]: ERROR: android / android-emu / android / qt / qt_setup.cpp: 28: Không tìm thấy thư viện Qt tại / Users / your_user_name / Library / Android / sdk / emulator / lib64 / qt / lib

15:08 Trình giả lập: Không thể khởi chạy '/ Users / your_user_name / Library / Android / sdk / giả lập / qemu / darwin-x86_64 / qemu-system-x86_64': Không có tệp hoặc thư mục như vậy

Giải pháp khá đơn giản. Chỉ cần cài đặt trình giả lập Android thông qua Android Studio => tools => Android => Trình quản lý SDK => công cụ SDK => chọn Trình giả lập Android => Áp dụng

Tôi đang sử dụng MacBook Pro trên macOS High Sierra và tôi tin rằng máy của bạn không liên quan gì đến vấn đề này. Trình giả lập rõ ràng không được cài đặt khi chạy trình quản lý cài đặt Android Studio lần đầu tiên, ít nhất là đối với tôi, với Android Studio 3.0.1

Đồng thời đảm bảo rằng bạn có các đường dẫn được xác định trong .bashrc hoặc .zshrc như thế này:

export ANDROID_HOME=/Users/your_user_name/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

3

Tôi đang ở trong Windows 10 và vấn đề là thư mục avd trong máy tính của tôi có các ký tự không phải ASCII trong đó.

Đây là những gì để làm:

Chạy cmd với tư cách quản trị viên

Chạy lệnh sau:

mklink /D C:\\.android C:\\Users\\-yourUsername-\\.android

(Điều này sẽ tạo ra một liên kết tượng trưng giữa đường dẫn với các ký tự không phải ASCII và ký tự mới)

Trong các biến môi trường thêm ANDROID_AVD_HOMEbiến với giá trị C:\\.android\avd.


2

Kiểm tra xem hình ảnh hệ thống được sử dụng bởi AVD của bạn đã được tải xuống dưới $ANDROID_SDK_ROOT/system-images/


2

Tôi gặp vấn đề tương tự mà sau khi thiết lập các biến đường dẫn sau đã biến mất Lưu ý Đường dẫn AVD Home khác với ba đường dẫn khác.

nhập mô tả hình ảnh ở đây


2

Bản địa

Đối với bất kỳ ai gặp sự cố khi khởi chạy trình giả lập Android thông qua NativeScript, có thể env vars ANDROID_HOME và ANDROID_SDK_ROOT đã bị ghi đè.

Cách tôi quản lý để tạo ra một vấn đề cho chính mình là bằng cách cài đặt Android Studio để tạo một trình giả lập khác. Tôi đã làm điều này sau khi tôi đã cài đặt sdk android thông qua nhà sản xuất bia.

Vì vậy, nếu trong quá trình cài đặt NativeScript, bạn đã chọn cài đặt android sdk thông qua HomeBrew, NativeScript sẽ thiết lập như trên:

ANDROID_HOME=/usr/local/share/android-sdk
ANDROID_SDK_ROOT=/usr/local/share/android-sdk

Sau đó, cài đặt Android Studio sẽ ghi đè các giá trị này như:

ANDROID_HOME=/Users/[User]/Library/Android/sdk
ANDROID_SDK_ROOT=/Users/[User]/Library/Android/sdk

Vì vậy, tự nhiên có một cuộc xung đột với studio Android và cài đặt NativeScript / Brew của sdk android. Loại bỏ cái này hoặc cái kia và / hoặc xác minh rằng biến env chứa đường dẫn chính xác sẽ khiến trình giả lập của bạn khởi chạy.


1

Sau một thời gian thử các "giải pháp" khác của Google, điều duy nhất có hiệu quả với tôi, sau khi đặt biến môi trường ANDROID_SDK_ROOT trên Windows, đồng thời thêm và xóa các biến ANDROID_HOME và ANDROID_SDK_HOME, là chỉnh sửa câu trả lời của Xerox23 giá trị của ANDROID_SDK_ROOT vào thuộc tính image.sysdir.1.

Điều này đã sử dụng Android Studio 3.0.1 và trình giả lập 26.1.4, khởi chạy thiết bị ảo từ Trình quản lý AVD từ bên trong Android Studio.


1

Đối với máy windows: Sau khi thử rất nhiều đường dẫn đã đặt, hãy xóa đường dẫn, v.v ... Điều cuối cùng làm việc là định vị thư mục C:\Users\johndoe\.androidvà xóa nó. sau đó bạn có thể ăn trưa với Android Studio, nó sẽ yêu cầu bạn tải xuống và cài đặt AVD mới và nó sẽ ghi đè và tạo một thư mục và tệp mới. Điều này giải quyết vấn đề.


Xin chào, lời khuyên tốt. Tất cả chúng ta với các cài đặt cũ hơn phải làm điều đó. Sau khi làm theo và thất bại với các công thức nấu ăn khác, câu trả lời của bạn thực hiện mẹo. Cảm ơn!
lm2a

1

Để giải quyết vấn đề này, tôi đã phải cài đặt gói với hình ảnh hệ thống bị thiếu bằng SDK Manager.exe (trong "C: \ Program Files (x86) \ Android \ android-sdk"). Tôi đã nhận thấy rằng hình ảnh hệ thống tôi cần ("android-23") bị thiếu trong "C: \ Program Files (x86) \ Android \ android-sdk \ system-hình ảnh".

Sau khi chạy SDK Manager.exe và cài đặt các gói thích hợp, tôi có thể chạy trình giả lập trong Android Studio.

Đây là giải pháp hiệu quả với tôi:

https://www.embarcadero.com/starthere/xe5/mobdevsetup/android/en/creating_an_android_emulator.html


1

Thực hiện theo các bước dưới đây để giải quyết vấn đề của bạn

1.

export ANDROID_HOME=/usr/local/Cellar/android-sdk/24.4.1
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/bin

2.

Go to android studio preferences => Build, Execution, Deployment => Build Tools => Gradle => Android studio  => Enable embedded Maven Repository should be selected.

3.

Go to android studio preferences => Appearance & Behavior => System Settings => Android SDK => Go to SDK Tools and select Android Emulator

1

Tôi đã giải quyết vấn đề này bằng cách xóa tệp /usr/local/share/android-sdk, vì tệp này được tạo khi tôi thử với homebrew.

export ANDROID_HOME=/Users/<username>/Library/Android/sdk

export ANDROID_SDK_ROOT=/Users/<username>/Library/Android/sdk

export ANDROID_AVD_HOME=/Users/<username>/.android/avd

thế là đủ ....


1

Mở studio android của bạn sau đó tập trung vào thanh công cụ.

Công cụ Goto> Trình quản lý SDK rồi

Giao diện & Hành vi> Cài đặt hệ thống> SDK Android

Bây giờ trong tab sao chép Vị trí SDK Android từ đây Vị trí SDK Android

sau đó chọn các biến môi trường của bạn và sau đó đặt đường dẫn cùng với các biến này

  1. ANDROID_HOME
  2. ANDROID_SDK_ROOT

Biến môi trường


1
  1. Xóa các thiết bị được tạo sớm.
  2. Đóng studio Android.
  3. Mở: Bảng điều khiển -> Hệ thống & bảo mật -> Hệ thống -> Cài đặt hệ thống nâng cao -> Biến môi trường.
  4. Tạo biến mới "ANDROID_SDK_HOME" và đặt đường dẫn mới (trong trường hợp của tôi là F: \ Coding2019 \ Android \ AVDdevices). Nhấn 'ok'.
  5. Mở Android Studio.
  6. Tạo thiết bị mới. Sau khi tạo trong menu thả xuống, nhấp vào "Xem chi tiết" để xem đường dẫn mới của AVD mới.

1

ANDROID_SDK_HOME là một con trỏ đến thư mục gốc của tệp ".android" của bạn, theo mặc định được tạo tại "C: \ Users \ name \ .android" và KHÔNG vào thư mục gốc của thư mục SDK của bạn. Sau đó: - Gán ANDROID_SDK_HOME cho thư mục gốc SDK sẽ không hoạt động. - Nếu đường dẫn của tệp ".android" của bạn có các ký tự không phải ASCII, nó sẽ không hoạt động. - Thư mục AVD phải nằm trong tệp ".android" hiện tại của bạn.

Vì vậy, câu trả lời là đây:

  • Thay đổi thư mục SDK của bạn, nếu bạn cần, như các câu trả lời trước đó (bên trong dự án trên Android Studio).
  • Đóng Android Studio.
  • Bảng điều khiển> Hệ thống> Cài đặt hệ thống nâng cao> Biến môi trường.
  • Thêm một biến Người dùng mới: Tên biến: ANDROID_SDK_HOME Giá trị biến: C: \ src (hoặc bất kỳ thư mục nào không có vấn đề với các ký tự không phải ASCII hoặc đặc quyền SO) ĐÚNG R THNG BẠN S ENTER KHÔNG THỂ ĐƯỢC ROOT FILEER CỦA SDK ANDROID CỦA BẠN !! !
  • Mở Android Studio. Đảm bảo thư mục có tên ".android" đã được tạo ở vị trí mới của bạn.
  • Xóa thiết bị ảo Android (AVD) mà bạn đã tạo.
  • Đóng và mở Android Studio.
  • Tạo một AVD mới và xem điều kỳ diệu xảy ra.

Chúc mừng.


1

! 注意avd 目录 不能 包含 Tôi đã thử tất cả các phương pháp trên, và tôi vẫn nhận được lỗi, và tôi tự hỏi liệu có phải vì thư mục avd của tôi có chứa charactor Trung Quốc không. Vì vậy, tôi thay đổi Thư mục avd mặc định theo các bước sau và nó đã hoạt động. 1. tạo thư mục có đường dẫn không chứa ký tự không phải ascii 2. sao chép hoặc cắt thư mục avd mặc định $HOME/.androidbên dưới thư mục bạn vừa tạo 3. thêm PATH ADNDROID_SDK_HOMEvà studio Android sẽ tìm thấy avd dưới $ ADNDROID_SDK_HOME / .android / avd

cuối cùng nó cũng thành công! :>


1

Khắc phục nếu người dùng của bạn chứa các ký tự không phải ASCII

Đối với những người nhận được " PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT", lý do cho điều này có thể là do người dùng của bạn trong người dùng chứa các ký tự không phải ASCII .

Do đó, cả thư mục SDK và .android với thư mục AVD cần phải được chuyển sang thư mục khác.

Thay đổi đường dẫn SDK:

Mở Android Studio , đi đến cấu hình và chọn Trình quản lý SDK. Thay đổi Vị trí SDK Android hiện tại thành ví dụ "C: \ Android \ Sdk" (Hoặc ở một nơi khác, không có trong thư mục người dùng có chứa các ký tự không phải ASCII) .

Sau đó, thêm các biến hệ thống sau:

ANDROID_SDK_ROOT C:\Android\Sdk
ANDROID_HOME C:\Android\Sdk

Thay đổi đường dẫn AVD:

Để thay đổi vị trí thư mục AVD được đặt (Thông thường được đặt trong " C:\Users\<user name>\.android\avd"), bạn cần thay đổi .androidvị trí được đặt. Trước tiên hãy đóng Android Studio , sau đó thêm biến hệ thống ANDROID_SDK_HOMEvới đường dẫn đến địa điểm mới bạn muốn .android, ví dụ C:\Android_SDK_HOMEnhư được sử dụng trong một ví dụ khác:

ANDROID_SDK_HOME C:\Android_SDK_HOME

Sau khi bạn thêm điều này, hãy chạy Android Studio . Sau đó đóng lại. Bây giờ một thư mục được gọi .androidnên đã xuất hiện.

Điều tiếp theo và cuối cùng bạn cần làm là đặt ANDROID_AVD_HOMEbiến hệ thống. Trong trường hợp này sẽ có trongC:\Android_SDK_HOME\.android\avd

ANDROID_AVD_HOME C:\Android_SDK_HOME\.android\avd

Tôi hy vọng điều này giải quyết vấn đề cho một số. :)


Bro cảm ơn bạn rất nhiều. Tôi chỉ giải quyết vấn đề này và xem qua bài đăng mới của bạn và nó đã hoạt động!
JangoCG

0

Tôi gặp phải vấn đề này vì tôi đã làm React Native từ những ngày đầu. Google đã từ chối các công cụ dòng lệnh và nhấn mạnh vào studio Android. Giải pháp cho tôi là loại bỏ các công cụ dòng lệnh

rm -rf /usr/local/Cellar/android-sdk

rm /usr/local/bin/android

mở lên AS cài đặt sdk v6 theo hướng dẫn https://facebook.github.io/react-native/docs/getting-started.html#1-install-android-studio

tạo một AVD mới và nó sẽ khởi chạy mà không gặp lỗi


0

Các lỗi thực sự khác nhau. Nó rất hữu ích để chạy ./emulator with -verbosetùy chọn, vì nó sẽ hiển thị các lỗi thực tế.

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.