Có thể thay đổi nơi lưu thiết bị ảo Android?


185

Tôi đã thiết lập SDK Android và Eclipse trên máy của mình chạy Windows XP và AVD (Thiết bị ảo Android) được lưu vào "Tài liệu và Cài đặt \ user \ .android" theo mặc định. Có cách nào để thay đổi hành vi này? Tôi có tất cả các thành phần khác được lưu trong một thư mục trên một phân vùng riêng và muốn mọi thứ được hợp nhất. Rõ ràng không phải là một vấn đề lớn nhưng có ai ở đây biết một cách giải quyết cho điều này?


Tôi đã tạo ra đĩa RAM ảo nhanh hơn 100 lần so với SSD và di chuyển các tệp giả lập sang đĩa này tăng tốc giả lập rất nhiều.
Vinigas

@Vinigas Bạn có thể giải thích rõ hơn "Đĩa RAM gấp 100 lần" Tôi cũng muốn tăng tốc trình giả lập của mình
Utsav Gupta

Tôi sử dụng phần mềm "SoftPerinf RAM đĩa" để tạo đĩa ảo. Sau đó, tôi đặt các tệp giả lập Android vào đĩa RAM này và đặt vị trí giả lập. Nếu bạn có ổ cứng, thì bạn sẽ thấy sự khác biệt lớn giữa trình giả lập trong ổ cứng và RAM.
Vinigas

Câu trả lời:


246

Thêm một biến môi trường người dùng mới (Windows 7):

  1. Menu Bắt đầu> Bảng điều khiển> Hệ thống> Cài đặt hệ thống nâng cao (ở bên trái)> Biến môi trường

  2. Thêm một biến người dùng mới (ở trên cùng) trỏ đến thư mục người dùng gia đình của bạn:

    Tên biến: ANDROID_SDK_HOME
    Giá trị biến: đường dẫn đến thư mục bạn chọn

AVD Manager sẽ sử dụng thư mục này để lưu .androidthư mục của nó vào đó.

Đối với những người có thể quan tâm, tôi đã viết blog về bước đột phá đầu tiên của tôi vào phát triển Android ...
Android "Hello World": a Tale of Woe

Ngoài ra, bạn có thể sử dụng Trình chỉnh sửa môi trường nhanh để đặt các biến môi trường.


1
Cảm ơn. Đọc mục blog của bạn giống như hồi tưởng lại vài giờ đầu tiên của ngày hôm nay về vấn đề này. Thật là đau!
Matt Burland

6
+1 cho thông tin của bạn. nhưng tôi đang sử dụng xp. Đối với tôi điều này sẽ làm việc sau khi khởi động lại. Cảm ơn bạn.
Gunaseelan

1
Cách tiếp cận này hiệu quả với tôi cho đến khi tôi khởi động lại máy tính. Win7.
wangf

2
Hoặc chỉ cần gõ vào cmdsetx ANDROID_SDK_HOME D:\your\path\here
Петър Петров

13
Biến môi trường ANDROID_AVD_HOME có thể được ưa thích hơn ANDROID_SDK_HOME vì nó tránh di chuyển bất kỳ cấu hình cụ thể nào của người dùng được lưu trữ trong ~ / .android để người dùng / phân phối khác có thể sử dụng cùng AVD. Hoạt động tốt trên Linux Debian.
Giăng

24

Sửa đổi tệp "virtual_android2.2.ini" trong "C: \ Documents and Settings {đăng nhập windows của bạn} .android \ avd \":

target=android-8
path=E:\android_workspace\avd\virtual_android2.2.avd

Và di chuyển thư mục "virtual_android2.2.avd" từ "C: \ Documents and Settings {đăng nhập windows của bạn} .android \ avd \" vào "E: \ android_workspace \ avd \".


Điều này làm việc cho tôi! Một chút vụng về phải làm điều này cho mọi trình giả lập mà tôi tạo ra
Chucky

Cảm ơn bạn đã cứu tôi !!
shahana kareen

17

Chuyển đến thư mục công cụ Android. Chỉnh sửa tệp lệnh android.bat. Ở phần cuối của tệp lệnh, tìm một dòng tương tự như

call %java_exe% -Djava.ext.dirs=%java_ext_dirs% -Dcom.android.sdkmanager.toolsdir="%tools_dir%" -Dcom.android.sdkmanager.workdir="%work_dir%" -jar %jar_path% %*

và thay thế

call %java_exe%

với

call %java_exe% -Duser.home={your_prefer_dir}

trong đó {your_prefer_dire} là thư mục ưa thích của bạn không có dấu ngoặc nhọn nhưng thêm doublequote,

ví dụ

call %java_exe% -Duser.home="E:\Program Files (x86)\android-sdk-windows"

2
Điều này làm việc cho tôi, trong khi câu trả lời được chấp nhận thì không. Ngoài ra, điều này thực sự trả lời những gì OP yêu cầu, đó là cách thay đổi từ thư mục nhà người dùng sang thư mục AVD khác, không phải cách khác.
Adam Burley

ĐIỀU NÀY KHÔNG ĐƯỢC LÀM! Trình quản lý SDK phàn nàn về điều đó và nó không tìm thấy vị trí thư mục mới ... Sử dụng ANDROID_SDK_HOME trong môi trường người dùng và khởi động lại máy tính của bạn có thể giúp - [.android thư mục sẽ được tạo trong% android_sdk_home%]
Davideas

16

Dựa trên tài liệu chính thức https://developer.android.com/studio/command-line/variables.html bạn nên thay đổi môi trường ANDROID_AVD_HOME var:

Biến mô phỏng môi trường

Theo mặc định, trình giả lập lưu trữ các tệp cấu hình dưới dữ liệu $ HOME / .android / và AVD dưới $ HOME / .android / avd /. Bạn có thể ghi đè mặc định bằng cách đặt các biến môi trường sau. Lệnh -avd giả lập tìm kiếm thư mục avd theo thứ tự các giá trị trong $ ANDROID_AVD_HOME, $ ANDROID_SDK_HOME / .android / avd /, và $ HOME / .android / avd /. Đối với trợ giúp biến môi trường giả lập, hãy nhập môi trường giả lập -help-môi trường tại dòng lệnh. Để biết thông tin về các tùy chọn dòng lệnh giả lập, hãy xem Điều khiển Trình mô phỏng từ Dòng lệnh.

  • ANDROID_EMULATOR_HOME : Đặt đường dẫn đến thư mục cấu hình trình mô phỏng dành riêng cho người dùng. Vị trí mặc định là
    $ ANDROID_SDK_HOME / .android /.
  • ANDROID_AVD_HOME : Đặt đường dẫn đến thư mục chứa tất cả các tệp dành riêng cho AVD, phần lớn bao gồm các hình ảnh đĩa rất lớn. Vị trí mặc định là $ ANDROID_EMULATOR_HOME / avd /. Bạn có thể muốn chỉ định một vị trí mới nếu vị trí mặc định thấp trên không gian đĩa.

Sau khi thay đổi hoặc đặt ANDROID_AVD_HOME, bạn sẽ phải di chuyển tất cả nội dung bên trong ~ user / .android / avd / sang vị trí mới của bạn và thay đổi đường dẫn thành tệp ini của mỗi trình giả lập, chỉ cần thay thế nó bằng đường dẫn mới của bạn


1
Đây nên là câu trả lời. Cảm ơn bạn.
Ned

13

Di chuyển .androidđến bất cứ nơi nào bạn muốn.

Sau đó, tạo một liên kết tượng trưng như thế này:

# In your home folder
$ ln -s /path/to/.android/ .

Điều này chỉ đơn giản nói với Linux rằng bất cứ khi nào đường dẫn ~ /.androidđược tham chiếu bởi bất kỳ ứng dụng nào, hãy liên kết nó với /path/to/.android.


Cảm ơn bạn @ prakharsingh95
TonyMkenu

6

Kiểm tra này . bằng cách sử dụng androidlệnh để tạo, avdbạn có thể chỉ định nơi đặt tệp.

-p --path     Location path of the directory where the new AVD will be created

Bạn có biết cách nào để thực hiện việc này thông qua tiện ích thiết lập và đặt nó thành mặc định cho một vị trí cụ thể không?
Primehunter326

Không hẳn vậy. Tôi thậm chí không sử dụng windows :(
Maczzy

Cũng giống như tôi đã nói nó không phải là một vấn đề lớn, chỉ cần nghĩ rằng sẽ có một số cách để kiểm soát nó nhiều hơn với cách mô-đun toàn bộ gói SDK. Cảm ơn bạn đã giúp đỡ!
Primehunter326


6

Dành cho Visual Studio 2017 trên Windows 10

Sao chép C:\Users\YOURUSERNAME\.androidthư mục vào (ví dụ)E:\avd

Mở cửa sổ biến môi trường:

  1. Đi vào Cài đặt và nhấp vào Hệ thống.
  2. Ở bên trái, nhấp Giới thiệu và chọn Thông tin hệ thống ở phía dưới.
  3. Trong cửa sổ mới, nhấp vào Cài đặt hệ thống nâng cao ở bên trái.
  4. Nhấp vào Biến môi trường ở dưới cùng của cửa sổ kết quả.

Thêm một biến mới:

  • Tên biến: ANDROID_SDK_HOME
  • Giá trị biến: đường dẫn đến thư mục (ví dụ E:\avd)

Đừng bao gồm .androidtrong giá trị biến.

Khởi động lại Visual Studio.

Để thay đổi vị trí SDK & NDK, hãy truy cập:

Công cụ -> Tùy chọn -> Xamarin -> Cài đặt Android


4

Bạn có thể thay đổi tệp .ini cho AVD mới:

target=android-7
path=C:\Users\username\.android\avd\VIRTUAL_DEVICE_NAME.avd

Tôi không biết cách chỉ định nơi tệp .ini sẽ được lưu trữ :)


4

Biến môi trường ANDROID_AVD_HOMEcó thể được sử dụng để xác định thư mục trong đó Trình quản lý AVD sẽ tìm các tệp AVD INI và do đó có thể được sử dụng để thay đổi vị trí của các thiết bị ảo;

Giá trị mặc định là %USERPROFILE%\.android\avdtrên Windows (hoặc ~/.android/avdtrên Linux).

Người ta cũng có thể tạo một liên kết cho toàn bộ thư mục %USERPROFILE%\.androidtrên Windows (hoặc một liên kết sym cho thư mục ~/.androidtrên Linux).

Khi di chuyển AVD, pathmục nhập trong tệp AVD INI cần được cập nhật tương ứng.


Biến môi trường ANDROID_AVD_HOME này có thể được ưa thích hơn ANDROID_SDK_HOME vì nó tránh di chuyển bất kỳ cấu hình cụ thể nào của người dùng được lưu trữ trong ~ / .android vì những người dùng / bản phân phối khác có thể sử dụng cùng AVD. Trên Linux, tôi đã xuất ANDROID_AVD_HOME trong ~ / .profile của tôi và nó hoạt động độc đáo.
Giăng

3

Một cách khác để chỉ định ANDROID_SDK_HOME mà không làm rối tung các biến môi trường (đặc biệt là khi sử dụng ec2) chỉ đơn giản là tạo một lối tắt của nhật thực và thêm mục sau đây làm mục tiêu

C: \ Windows \ System32 \ cmd.exe / C "setx ANDROID_SDK_HOME AVD PATH / M & ECLIPSE.EXE PATH CỦA BẠN "

Điều này sẽ đặt ANDROID_SDK_HOME làm biến hệ thống bất cứ khi nào bạn khởi chạy nhật thực.

Paul


3

Vui lòng lưu ý những điều sau: sửa đổi android.bat trong thư mục công cụ Android, như được đề xuất trong câu trả lời trước, có thể dẫn đến sự cố.

Nếu bạn làm như vậy, để thư mục .android của bạn được đặt ở vị trí không mặc định một cách hợp pháp thì có thể có sự không nhất quán giữa các AVD được liệt kê bởi Android Studio (sử dụng "Công cụ> Android> Trình quản lý AVD") và AVD được liệt kê bởi công cụ dòng lệnh sdk "android avd".

Tôi cho rằng Android Studio, với Trình quản lý AVD nội bộ, không sử dụng đường dẫn sửa đổi android.bat; nó dựa vào biến ANDROID_SDK_HOME để định vị AVD.

Các thử nghiệm của riêng tôi đã chỉ ra rằng các công cụ Android sử dụng chính xác biến ANDROID_SDK_HOME.

Do đó, theo tôi biết, không có điểm nào trong việc sửa đổi android.bat và sử dụng biến môi trường nên được ưu tiên.


3

Trong Windows 10 tôi gặp vấn đề đó vì Ổ đĩa C của tôi đã đầy và tôi cần Dung lượng trống, thư mục AVD có dung lượng 14 gig vì vậy tôi cần chuyển thư mục đó sang trình điều khiển khác, trước tiên, câu trả lời không hoạt động cho tôi nên tôi đã thử một cách khác để khắc phục vấn đề này, tôi tạo một bức ảnh cho bạn nếu bạn có cùng một vấn đề, bạn không cần phải di chuyển tất cả các tệp trong thư mục .android sang ổ đĩa khác (cách này không hoạt động) chỉ cần di chuyển các thư mục avd trong .... android \ avd sang một ổ đĩa khác và mở tệp .ini và thay đổi đường dẫn thư mục avd từ tệp đó sang đường dẫn mới. Thích hình ảnh này:

hình ảnh giúp bạn thấy cách thay đổi đường dẫn cũ sang đường dẫn mới

Tôi mong công việc này phù hợp với bạn.


1

Trong trường hợp của tôi, điều tôi quan tâm là dung lượng ổ đĩa C :. Vì vậy, những gì tôi đã làm là sao chép thư mục ".avd" (không phải tệp) sang ổ đĩa khác và để tệp ".ini" ở đó nhưng thay đổi nó để trỏ đến di chuyển


1

Tôi nghĩ cách dễ nhất là di chuyển thư mục avd từ thư mục C: \ Users [USER] .android đến vị trí mong muốn của bạn sau đó tạo liên kết tượng trưng đến nó trong C: \ Users [USER] .android có cùng tên.

Nếu bạn tự hỏi làm thế nào để làm điều này, trước tiên hãy cài đặt Link Shell Extension . Sau khi di chuyển thư mục, nhấp chuột phải vào nó và chọn Pick Link Source, sau đó nhấp chuột phải vào thư mục .android và trong menu phụ Drop As ... chọn Liên kết tượng trưng .


Điều này hoạt động và thành thật nó sẽ cao hơn nhiều. Ngoài ra, bạn có thể tạo một liên kết tượng trưng cho C:\Users\user\AppData\Local\Android\Sdk\system-images, nơi đó cũng ăn rất nhiều không gian. bạn không cần sử dụng bất kỳ công cụ của bên thứ ba nào, mklink /D system-images D:\path\to\system-imageschỉ hoạt động tốt
sóc

1

Tôi đã theo dõi https://www.mysysadmintips.com/windows/clents/761-move-android-studio-avd-folder-to-a-new-location .

  1. Bắt đầu sao chép thư mục "C: \ Users \ user \ .android \ avd" sang "D: \ Android \ .android \ avd" (hoặc một cái gì khác).

  2. Đóng Android Studio và chạy trình giả lập.

  3. Nhấn Win + Breakvà mở Advanced System Settings. Sau đó nhấn Environment Variables. Thêm một biến người dùng ANDROID_SDK_HOME. (Tôi đã không thử nghiệm với ANDROID_AVD_HOME.) Trong Variable valuelĩnh vực viết D:\Android. Nếu bạn cũng đã chuyển SDK sang thư mục khác, hãy thay đổi ANDROID_HOME(Tôi quên thay đổi nó và một số trình giả lập không khởi chạy, hãy xem https://stackoverflow.com/a/57408085/2914140 ).

  4. Đợi cho đến khi thư mục sẽ sao chép xong và khởi động Android Studio.

  5. Mở Android Virtual Device Managervà xem danh sách các trình giả lập. Nếu bạn không thấy trình giả lập và chúng tồn tại, thì có lẽ bạn đã nhập sai đường dẫn vào giá trị biến người dùng ở bước 3. Trong trường hợp này, đóng AS, thay đổi biến và mở lại AS.

  6. Bắt đầu bất kỳ trình giả lập. Nó sẽ cố gắng khôi phục trạng thái của nó, nhưng đôi khi nó thất bại . Một màn hình đen có thể xuất hiện thay vì hình nền Android.

  7. Trong trường hợp này, bạn có thể:

    a. Khởi động lại trình giả lập của bạn. Để thực hiện việc đóng trình giả lập này, sau đó trong Trình quản lý AVD, nhấp vào Cold Boot Now.

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

b. Nếu điều này không có ích, hãy mở cài đặt trình giả lập, được tìm thấy trong tệp "D: \ Android \ .android \ avd \ Pixel_API_27.ini".

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

Thay đổi đường dẫn đến thư mục AVD mới. Khởi động lại trình giả lập.

  1. Xóa thư mục AVD cũ khỏi "C: \ Users \ user \ .android \ avd".

0

ANDROID_SDK_HOME cũng hoạt động với tôi trên Windows 8 x64 cũng tìm tất cả vị trí (trong trường hợp của tôi là d: \. Android) và xóa nó. Bạn sẽ không cần nó nữa.


0

Trong trình quản lý AVD, sau khi thiết lập AVD bằng cách sử dụng mục tiêu Google APIs, khi chạy, đã gặp lỗi.

Chi tiết cho thấy: "Mục tiêu không xác định của AVD 'Google Inc .: Google API: ......"

Trong quá trình cài đặt (trên hệ thống Win7) tôi đã chọn một vị trí thư mục SDK, thay vì chấp nhận C:\Users\... sau đó tôi đã thêm thư mục đó vào biến môi trường 'đường dẫn' Dòng lệnh: mục tiêu danh sách android đã hiển thị một vài apis của Google.

Cài ANDROID_SDK_HOMEđặt đường dẫn cài đặt của tôi đã sửa lỗi chạy avd.


0

Tên biến: ANDROID_SDK_HOME
Giá trị biến: C: \ Users> Tên người dùng

đã làm cho tôi.


0

MacOs Nhận một thư mục adv

./emulator -help-datadir

thư mục mặc định là:

/Users/{your_computer_user_name}/.android

và sau đó Chuyển đến avd Thư mục chỉnh sửa tệp .ini với đường dẫn đến ví dụ thư mục giả lập tùy chỉnh của bạn:

đường dẫn = / Tập / Macintos / _emulatorandroid / avd / Nexus_5X_API_27.avd path.rel = avd / Nexus_5X_API_27.avd target = android-27

và sau đó tiết kiệm. Bây giờ Trình giả lập của bạn đã trao đổi

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

Và kết quả:

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


0

Có 4 bước chính 1. sao chép thư mục .android vào vị trí mong muốn của bạn như tôi đã làm trong D:\Android\.android 2. đặt ANDROID_AVD_HOME trong các biến môi trường như ANDROID_AVD_HOME D:\Android\.android\avd 3. thay đổi nội dung tệp avd name.ini với vị trí mới như avd.ini.encoding=UTF-8 path=D:\Android\.android\avd\Pixel_2_API_29.avd path.rel=avd\Pixel_2_API_29.avd target=android-29 4. khởi động lại android studio


0

1 - Di chuyển AVD sang Thư mục mới

2 - bắt đầu Menu> Bảng điều khiển> Hệ thống> Cài đặt hệ thống nâng cao (ở bên trái)> Biến môi trường Thêm biến người dùng mới: Tên biến: ANDROID_AVD_HOME Giá trị biến: đường dẫn đến thư mục bạn chọn

3 - Thay đổi tập tin .INI Đặt thư mục mới.

4 - Mở Android Studio

CÔNG TRÌNH - Windows 2010

HƯỚNG DẪN THÊM: https://developer.android.com/studio/command-line/variables

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.