Kemungkinan untuk mengubah tempat Perangkat Virtual Android disimpan?

185

Saya sudah menyiapkan Android SDK dan Eclipse di mesin saya yang menjalankan Windows XP dan AVD (Android Virtual Devices) disimpan ke "Documents and Settings \ user \ .android" secara default. Apakah ada cara untuk mengubah perilaku ini? Saya memiliki semua komponen lain yang disimpan dalam direktori di partisi terpisah dan ingin semuanya dikonsolidasikan. Jelas bukan masalah besar tetapi apakah ada orang di sini yang tahu solusi untuk ini?

primehunter326
sumber
Saya telah membuat disk RAM virtual yang 100x lebih cepat dari SSD dan memindahkan file emulator ke disk ini mempercepat emulator memuat sangat banyak.
Vinigas
@Vinigas Bisakah Anda menguraikan tolong "RAM disk yang 100x" Saya ingin mempercepat emulator saya juga
Utsav Gupta
Saya menggunakan perangkat lunak "SoftPerfect RAM disk" untuk membuat disk virtual. Lalu saya memasukkan file emulator android ke dalam RAM-disk ini dan mengatur lokasi emulator. Jika Anda memiliki HDD, maka Anda akan melihat perbedaan besar antara emulator di HDD dan di RAM.
Vinigas
Simpan pertanyaan: stackoverflow.com/questions/3109473/...
Saidolim

Jawaban:

246

Tambahkan variabel lingkungan pengguna baru (Windows 7):

  1. Mulai Menu> Panel Kontrol> Sistem> Pengaturan Sistem Lanjut (di sebelah kiri)> Variabel Lingkungan

  2. Tambahkan variabel pengguna baru (di atas) yang menunjukkan direktori pengguna rumah Anda:

    Nama variabel: ANDROID_SDK_HOME
    Nilai variabel: jalur ke direktori pilihan Anda

AVD Manager akan menggunakan direktori ini untuk menyimpan .androiddirektori ke dalamnya.

Bagi mereka yang mungkin tertarik, saya membuat blog tentang terjun pertama saya ke pengembangan Android ...
Android "Hello World": a Tale of Woe

Atau, Anda dapat menggunakan Editor Lingkungan Cepat untuk mengatur variabel lingkungan.

Wloescher
sumber
1
Terima kasih. Membaca entri blog Anda seperti menghidupkan kembali beberapa jam pertama hari ini dengan memikirkan hal ini. Sungguh menyakitkan!
Matt Burland 8-12
6
+1 untuk info Anda. tapi saya menggunakan xp. bagi saya ini akan berfungsi setelah restart. Terima kasih.
Gunaseelan
1
Pendekatan ini bekerja untuk saya sampai saya me-restart komputer saya. Win7.
Wangf
2
Atau cukup ketik cmdsetx ANDROID_SDK_HOME D:\your\path\here
Петър Петров
13
Variabel lingkungan ANDROID_AVD_HOME dapat lebih disukai daripada ANDROID_SDK_HOME karena variabel tersebut menghindari untuk memindahkan konfigurasi khusus pengguna yang disimpan dalam ~ / .android sehingga pengguna / distribusi lain dapat menggunakan AVD yang sama. Bekerja dengan baik di Linux Debian.
John
24

Ubah file "virtual_android2.2.ini" di "C: \ Documents and Settings {your windows login} .android \ avd \":

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

Dan pindahkan folder "virtual_android2.2.avd" dari "C: \ Documents and Settings {login windows Anda} .android \ avd \" ke "E: \ android_workspace \ avd \".

diyism
sumber
Ini berhasil untuk saya! Agak kikuk harus melakukan ini untuk setiap emulator yang saya buat
Chucky
Terima kasih telah menyelamatkan saya !!
shahana kareen
17

Buka direktori alat Android. Edit file perintah android.bat. Di sekitar akhir file perintah, temukan baris yang mirip dengan

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

dan ganti

call %java_exe%

dengan

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

di mana {your_prefer_dire} adalah direktori pilihan Anda tanpa kawat gigi tetapi tambahkan doublequote,

misalnya

call %java_exe% -Duser.home="E:\Program Files (x86)\android-sdk-windows"
loteng
sumber
2
Ini bekerja untuk saya, sedangkan jawaban yang diterima tidak. Juga, ini benar-benar menjawab apa yang ditanyakan OP, yang adalah bagaimana mengubah dari direktori home user ke direktori AVD lain, bukan sebaliknya.
Adam Burley
INI TIDAK HARUS DILAKUKAN! SDK Manager mengeluhkannya dan tidak menemukan lokasi folder baru ... Gunakan ANDROID_SDK_HOME di bawah lingkungan pengguna dan nyalakan kembali komputer Anda mungkin membantu - [.android folder akan dibuat di% android_sdk_home%]
Davideas
16

Berdasarkan dokumentasi resmi https://developer.android.com/studio/command-line/variables.html Anda harus mengubah ANDROID_AVD_HOME lingkungan var:

Variabel Lingkungan Emulator

Secara default, emulator menyimpan file konfigurasi di bawah $ HOME / .android / dan data AVD di bawah $ HOME / .android / avd /. Anda dapat mengganti default dengan mengatur variabel lingkungan berikut. Perintah emulator -avd mencari direktori avd dalam urutan nilai dalam $ ANDROID_AVD_HOME, $ ANDROID_SDK_HOME / .android / avd /, dan $ HOME / .android / avd /. Untuk bantuan variabel lingkungan emulator, ketik emulator -help-environment di baris perintah. Untuk informasi tentang opsi baris perintah emulator, lihat Mengontrol Emulator dari Baris Perintah.

  • ANDROID_EMULATOR_HOME : Menetapkan lintasan ke direktori konfigurasi emulator khusus pengguna. Lokasi default adalah
    $ ANDROID_SDK_HOME / .android /.
  • ANDROID_AVD_HOME : Menetapkan path ke direktori yang berisi semua file khusus AVD, yang sebagian besar terdiri dari gambar disk yang sangat besar. Lokasi default adalah $ ANDROID_EMULATOR_HOME / avd /. Anda mungkin ingin menentukan lokasi baru jika lokasi default rendah ruang disk.

Setelah mengubah atau mengatur ANDROID_AVD_HOME Anda harus memindahkan semua konten di dalamnya ~ user / .android / avd / ke lokasi baru Anda dan ubah path ke file inisial dari setiap emulator, cukup ganti dengan path baru Anda

Leonardo Sapuy
sumber
1
Ini seharusnya jawabannya. Terima kasih.
Ned
13

Pindahkan Anda .androidke mana pun Anda mau.

Lalu, buat symlink seperti ini:

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

Ini hanya memberitahu Linux bahwa setiap kali path ~ /.androiddireferensikan oleh aplikasi apa pun, tautkan ke /path/to/.android.

ps95
sumber
Terima kasih @ prakharsingh95
TonyMkenu
6

Lihat ini . menggunakan androidperintah untuk membuat avdAnda dapat menentukan tempat untuk meletakkan file.

-p --path     Location path of the directory where the new AVD will be created
Makarse
sumber
Apakah Anda tahu cara untuk melakukan ini melalui utilitas pengaturan dan mengaturnya ke default ke lokasi tertentu?
primehunter326
Tidak juga. Saya bahkan tidak menggunakan windows :(
Macarse
Yah seperti saya katakan itu bukan masalah besar, hanya berpikir akan ada beberapa cara untuk mengendalikannya lebih mengingat betapa modular seluruh paket SDK. Terima kasih atas bantuan Anda!
primehunter326
Tautan di atas sudah mati ( developer.android.com/intl/zh-TW/guide/developing/tools/… )
Jeff Mergler
6

Untuk Visual Studio 2017 di Windows 10

Salin C:\Users\YOURUSERNAME\.androidfolder ke (misalnya)E:\avd

Buka jendela variabel lingkungan:

  1. Buka Pengaturan dan klik Sistem.
  2. Di sebelah kiri, klik Tentang dan pilih Info sistem di bagian bawah.
  3. Di jendela baru, klik Pengaturan sistem lanjutan di sebelah kiri.
  4. Klik Variabel Lingkungan di bagian bawah jendela yang dihasilkan.

Tambahkan variabel baru:

  • Nama variabel: ANDROID_SDK_HOME
  • Nilai variabel: jalur ke direktori (misalnya E:\avd)

Jangan sertakan .androiddalam nilai variabel.

Mulai ulang Visual Studio.

Untuk mengubah lokasi SDK & NDK, buka:

Alat -> Opsi -> Xamarin -> Pengaturan Android

pengguna2511140
sumber
4

Anda dapat mengubah file .ini untuk AVD baru:

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

Saya tidak tahu bagaimana menentukan di mana file .ini harus disimpan :)

JFrostos
sumber
4

Variabel lingkungan ANDROID_AVD_HOMEdapat digunakan untuk menentukan direktori di mana Manajer AVD akan mencari file AVD INI dan karenanya dapat digunakan untuk mengubah lokasi perangkat virtual;

Nilai default adalah %USERPROFILE%\.android\avdpada Windows (atau ~/.android/avddi Linux).

Satu juga dapat membuat tautan untuk seluruh direktori %USERPROFILE%\.androidpada Windows (atau sym-link untuk direktori~/.android di Linux).

Saat memindahkan pathAVD , entri dalam file AVD INI perlu diperbarui.

Martin Zeitler
sumber
Variabel lingkungan ANDROID_AVD_HOME ini dapat lebih disukai daripada ANDROID_SDK_HOME karena menghindari untuk memindahkan konfigurasi pengguna tertentu yang disimpan dalam ~ / .android karena pengguna / distribusi lain dapat menggunakan AVD yang sama. Di Linux, saya mengekspor ANDROID_AVD_HOME di ~ / .profile saya dan berfungsi dengan baik.
John
3

Cara lain untuk menentukan ANDROID_SDK_HOME tanpa bermain-main dengan variabel lingkungan (terutama saat menggunakan EC2) cukup membuat pintasan gerhana dan menambahkan berikut ini sebagai target

C: \ Windows \ System32 \ cmd.exe / C "setx ANDROID_SDK_HOME JALUR AVD ANDA / M & JALUR ECLIPSE ANDA.EXE ANDA "

Ini akan menetapkan ANDROID_SDK_HOME sebagai variabel sistem setiap kali Anda meluncurkan gerhana.

HTH Paul

Paul
sumber
3

Harap perhatikan hal-hal berikut: memodifikasi android.bat di direktori alat Android, seperti yang disarankan dalam jawaban sebelumnya, dapat menyebabkan masalah.

Jika Anda melakukannya, agar direktori .android Anda secara sah berada di lokasi non-default, maka mungkin ada ketidakkonsistenan antara AVD yang terdaftar oleh Android Studio (menggunakan "Tools> Android> AVD Manager") dan AVD yang terdaftar oleh alat baris perintah sdk "android avd".

Saya kira Android Studio, dengan AVD Manager internal, tidak menggunakan jalur yang dimodifikasi android.bat; itu bergantung pada variabel ANDROID_SDK_HOME untuk menemukan AVD.

Tes saya sendiri menunjukkan bahwa alat Android menggunakan variabel ANDROID_SDK_HOME dengan benar.

Oleh karena itu, tidak ada gunanya, sejauh yang saya tahu, dalam memodifikasi android.bat, dan menggunakan variabel lingkungan harus lebih disukai.

SR_
sumber
3

Di Windows 10 saya punya masalah itu karena Drive C saya sudah penuh dan saya membutuhkan ruang kosong, folder AVD punya 14 ruang manggung jadi saya perlu memindahkan folder itu ke driver lain, jawaban pertama tidak bekerja untuk saya jadi saya menguji cara lain untuk memperbaikinya masalah ini, saya membuat gambar untuk Anda jika Anda memiliki masalah yang sama, Anda tidak perlu memindahkan semua file di folder .android ke drive lain (cara ini tidak berfungsi) cukup pindahkan folder AVD di .... android \ avd to drive lain dan buka file .ini dan ubah jalur folder AVD dari file itu ke jalur baru. Seperti gambar ini:

gambar membantu Anda melihat bagaimana mengubah jalur lama ke jalur baru

Semoga ini berhasil untuk Anda.

Ali Yousefi
sumber
1

Dalam kasus saya, yang saya khawatirkan adalah ruang disk drive C :. Jadi apa yang saya lakukan adalah menyalin folder ".avd" (bukan file) ke drive lain, dan meninggalkan file ".ini" di sana tetapi mengubahnya untuk menunjuk ke pindah.

pengguna829248
sumber
1

Saya pikir cara termudah adalah dengan memindahkan folder avd dari C: \ Users [USER] .android folder ke lokasi yang Anda inginkan kemudian buat tautan simbolis ke dalamnya di C: \ Users [USER] .android dengan nama yang sama.

Jika Anda bertanya-tanya bagaimana cara melakukannya, instal Link Shell Extension terlebih dahulu . Setelah gerakan folder klik kanan di atasnya dan pilih Pilih Sumber Tautan lalu klik kanan di folder .android dan di sub menu Drop As ... pilih Symbolic Link .

Ali
sumber
ini bekerja dan jujur ​​itu harus jauh lebih tinggi. selain itu, Anda dapat membuat tautan simbolis untuk C:\Users\user\AppData\Local\Android\Sdk\system-imagestempat itu memakan banyak ruang juga. Anda tidak perlu menggunakan alat pihak ketiga apa pun, mklink /D system-images D:\path\to\system-imagesberfungsi dengan baik
tupai
1

Saya mengikuti https://www.mysysadmintips.com/windows/clients/761-move-android-studio-avd-folder-to-a-new-location .

  1. Mulai menyalin folder "C: \ Users \ user \ .android \ avd" ke "D: \ Android \ .android \ avd" (atau yang lain).

  2. Tutup Android Studio dan jalankan emulator.

  3. Tekan Win + Breakdan buka Advanced System Settings. Lalu tekan Environment Variables. Tambahkan variabel pengguna ANDROID_SDK_HOME. (Saya tidak bereksperimen dengan ANDROID_AVD_HOME.) Di Variable valuebidang tulis D:\Android. Jika Anda juga memindahkan SDK ke folder lain, ubah ANDROID_HOME(saya lupa mengubahnya dan beberapa emulator tidak diluncurkan, lihat https://stackoverflow.com/a/57408085/2914140 ).

  4. Tunggu hingga folder selesai menyalin dan mulai Android Studio.

  5. Buka Android Virtual Device Managerdan lihat daftar emulator. Jika Anda tidak melihat emulator dan ada, maka mungkin Anda memasukkan jalur yang salah ke nilai variabel pengguna di langkah 3. Dalam hal ini tutup AS, ubah variabel dan buka AS lagi.

  6. Mulai emulator apa pun. Ini akan mencoba mengembalikan keadaannya, tetapi terkadang gagal . Layar hitam dapat muncul sebagai ganti wallpaper Android.

  7. Dalam hal ini Anda dapat:

    Sebuah. Mulai ulang emulator Anda. Untuk melakukan ini dekat menjalankan emulator, lalu di AVD Manager klik Cold Boot Now.

masukkan deskripsi gambar di sini

b. Jika ini tidak membantu, buka pengaturan emulator, ditemukan dalam file "D: \ Android \ .android \ avd \ Pixel_API_27.ini".

masukkan deskripsi gambar di sini

Ubah jalur ke folder AVD baru. Mulai ulang emulator.

  1. Hapus folder AVD lama dari "C: \ Users \ user \ .android \ avd".
CoolMind
sumber
0

ANDROID_SDK_HOME juga bekerja untuk saya di Windows 8 x64 juga menemukan semua lokasi (dalam kasus saya itu adalah d: \. Android) dan menghapusnya. Anda tidak akan membutuhkannya lagi.

Alkasai
sumber
0

Di manajer AVD, setelah mengatur AVD menggunakan target dengan Google APIs, sedang dijalankan mendapatkan kesalahan.

Detail menunjukkan: "AVD Target tidak dikenal 'Google Inc.:Google APIs: ......"

Selama menginstal (pada sistem Win7) saya telah memilih lokasi direktori SDK, daripada menerima C:\Users\... saya kemudian akan menambahkan direktori itu ke variabel lingkungan 'path' Baris perintah: target daftar android memang menunjukkan beberapa apis Google.

Pengaturan ANDROID_SDK_HOMEke jalur instal saya memperbaiki kesalahan run AVD.

pengguna5803030
sumber
0

Nama variabel: ANDROID_SDK_HOME
Nilai variabel: C: \ Users> Nama Pengguna

bekerja untukku.

Buminda
sumber
0

MacOs Dapatkan direktori adv

./emulator -help-datadir

direktori default adalah:

/Users/{your_computer_user_name}/.android

dan kemudian Buka folder edit file .ini dengan path ke direktori emulator kustom Anda contoh:

path = / Volume / Macintos / _emulatorandroid / avd / Nexus_5X_API_27.avd path.rel = avd / Nexus_5X_API_27.avd target = android-27

lalu simpan. Sekarang perubahan Emulator Anda

masukkan deskripsi gambar di sini

Dan hasil:

masukkan deskripsi gambar di sini

Tung Tran
sumber
0

ada 4 langkah utama 1. salin folder .android ke lokasi yang Anda inginkan seperti yang saya lakukan di D:\Android\.android 2. set ANDROID_AVD_HOME dalam variabel lingkungan seperti ANDROID_AVD_HOME D:\Android\.android\avd 3. ubah avd name.ini isi file dengan lokasi baru seperti 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. restart android studio

Durgesh Kumar
sumber
0

1 - Pindahkan AVD ke Folder baru

2 - mulai Menu> Panel Kontrol> Sistem> Pengaturan Sistem Lanjut (di sebelah kiri)> Variabel Lingkungan Tambahkan variabel pengguna baru: Nama variabel: ANDROID_AVD_HOME Nilai variabel: jalur ke direktori pilihan Anda

3 - Ubah file .INI Atur folder baru.

4 - Buka Android Studio

KARYA - Windows 2010

INSTRUKSI LEBIH BANYAK: https://developer.android.com/studio/command-line/variables

pengguna4062512
sumber