Android Sanal Aygıtlarının kaydedildiği yeri değiştirmek mümkün mü?


185

Windows XP ve AVD'leri (Android Sanal Aygıtları) çalıştıran makinemde Android SDK ve Eclipse'i ayarladım, varsayılan olarak "Belgeler ve Ayarlar \ kullanıcı \ .android" klasörüne kaydedilir . Bu davranışı değiştirmenin bir yolu var mı? Tüm diğer bileşenler bir dizinde ayrı bir bölüme kaydedildi ve her şeyin birleştirilmesini istiyorum. Açıkçası büyük bir anlaşma değil ama burada kimse bunun için bir geçici çözüm biliyor mu?


SSD'den 100 kat daha hızlı olan sanal RAM diski yaptım ve emülatör dosyalarını bu diske taşıyın.
Vinigas

@Vinigas Lütfen "100x olan RAM diski" biraz detaylandırabilir miyim Ben de benim emülatör hızlandırmak istiyorum
Utsav Gupta

Sanal disk oluşturmak için "SoftPerfect RAM disk" yazılımını kullanıyorum. Sonra android emülatör dosyalarını bu RAM diskine yerleştiriyorum ve emülatör konumunu ayarlıyorum. HDD'niz varsa, HDD'deki ve RAM'deki emülatör arasında büyük bir fark göreceksiniz.
Vinigas

Yanıtlar:


246

Yeni bir kullanıcı ortamı değişkeni ekleyin (Windows 7):

  1. Başlat Menüsü> Denetim Masası> Sistem> Gelişmiş Sistem Ayarları (solda)> Ortam Değişkenleri

  2. Ana kullanıcı dizininizi gösteren yeni bir kullanıcı değişkeni ekleyin (üstte):

    Değişken adı: ANDROID_SDK_HOME
    Değişken değeri: seçtiğiniz bir dizine giden yol

AVD Yöneticisi bu dizini dizinine kaydetmek .androidiçin kullanır.

İlgilenenler için, Android geliştirmeye ilk adımımı yazdım ...
Android "Merhaba Dünya": Bir Masal

Alternatif olarak, ortam değişkenlerini ayarlamak için Hızlı Ortam Düzenleyicisi'ni kullanabilirsiniz.


1
Teşekkürler. Blog girişinizi okumak, günümüzün ilk birkaç saatini bununla karıştırmak gibi bir şeydi. Ne acı!
Matt Burland

6
Bilginiz için +1. ama ben xp kullanıyorum. benim için bu yeniden başlattıktan sonra çalışacaktır. Teşekkür ederim.
Gunaseelan

1
Bilgisayarımı yeniden başlatana kadar bu yaklaşım benim için çalışıyor. Win7.
wangf

2
Veya sadece cmd yazınsetx ANDROID_SDK_HOME D:\your\path\here
Петър Петров

13
ANDROID_AVD_HOME ortam değişkeni, ANDROID_SDK_HOME yerine ~ / .android içinde depolanan kullanıcıya özgü yapılandırmanın herhangi birini taşımaktan kaçındığı için diğer kullanıcılar / dağıtımlar aynı AVD'leri kullanabilir. Linux Debian üzerinde güzel çalıştı.
John

24

"C: \ Documents and Settings {windows login} .android \ avd \" içindeki "virtual_android2.2.ini" dosyasını değiştirin:

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

Ve "virtual_android2.2.avd" klasörünü "C: \ Documents and Settings {windows login} .android \ avd \" klasöründen "E: \ android_workspace \ avd \" klasörüne taşıyın.


Bu benim için çalıştı! Oluşturduğum her emülatör için bunu yapmak zorunda biraz tuhaf
Chucky

Beni kurtardığın için teşekkürler !!
shahana kareen

17

Android araçları dizinine gidin. Android.bat komut dosyasını düzenleyin. Komut dosyasının sonuna doğru, şuna benzer bir satır bulun:

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

ve değiştir

call %java_exe%

ile

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

burada, {your_prefer_dire}, ayraç içermeyen, ancak çift tırnak eklediğiniz, tercih ettiğiniz dizindir,

Örneğin

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

2
Bu benim için çalıştı, kabul edilen cevap olmadı. Ayrıca, bu aslında OP'nin sorduğu sorulara cevap verir, bu da kullanıcı ana dizininden başka bir AVD dizinine nasıl değiştirileceği, tam tersi değil.
Adam Burley

BU YAPILMAMALIDIR! SDK Yöneticisi bu durumdan şikayet ediyor ve yeni klasör konumunu bulamıyor ... ANDROID_SDK_HOME'u kullanıcı ortamları altında kullanın ve bilgisayarınızı yeniden başlatın yardımcı olabilir - [.android klasörü% android_sdk_home% 'de oluşturulacak]
Davideas

16

Https://developer.android.com/studio/command-line/variables.html resmi belgelere dayanarak ANDROID_AVD_HOME ortam değişkenini değiştirmelisiniz :

Emülatör Ortamı Değişkenleri

Emülatör varsayılan olarak yapılandırma dosyalarını $ HOME / .android / altında ve AVD verilerini $ HOME / .android / avd / altında saklar. Aşağıdaki ortam değişkenlerini ayarlayarak varsayılanları geçersiz kılabilirsiniz. Emulator -avd komutu avd dizinini $ ANDROID_AVD_HOME, $ ANDROID_SDK_HOME / .android / avd / ve $ HOME / .android / avd / içindeki değerler sırasıyla arar. Emülatör ortam değişkeni yardımı için komut satırına emulator -help-environment yazın. Öykünücü komut satırı seçenekleri hakkında bilgi için bkz. Öykünücüyü Komut Satırından Denetleme.

  • ANDROID_EMULATOR_HOME : Kullanıcıya özel emülatör yapılandırma dizininin yolunu ayarlar. Varsayılan konum
    $ ANDROID_SDK_HOME / .android / şeklindedir.
  • ANDROID_AVD_HOME : AVD'ye özgü tüm dosyaları içeren ve çoğunlukla çok büyük disk görüntülerinden oluşan dizinin yolunu ayarlar. Varsayılan konum $ ANDROID_EMULATOR_HOME / avd / şeklindedir. Varsayılan konum disk alanı azsa yeni bir konum belirtmek isteyebilirsiniz.

ANDROID_AVD_HOME'u değiştirdikten veya ayarladıktan sonra ~ user / .android / avd / içindeki tüm içeriği yeni konumunuza taşımanız ve her öykünücünün ini dosyasına yolu değiştirmeniz gerekir, sadece yeni yolunuzla değiştirin


1
Cevap bu olmalı. Teşekkür ederim.
Ned

13

.androidİstediğiniz yere taşıyın .

Ardından, böyle bir sembolik bağlantı oluşturun:

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

Bu sadece Linux'a yolun /.androidherhangi bir uygulama tarafından atıfta bulunulduğu zaman onu bağlayacağını söyler /path/to/.android.


Thank you @ prakharsingh95
TonyMkenu

6

Kontrol bu out. androidkomutunu kullanarak avddosyaları nereye yerleştireceğinizi belirleyebilirsiniz.

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

Bunu kurulum yardımcı programı aracılığıyla yapmanın ve varsayılan olarak belirli bir konuma ayarlamanın herhangi bir yolunu biliyor musunuz?
primehunter326

Pek sayılmaz. Pencereleri bile kullanmıyorum :(
Macarse

Dediğim gibi, büyük bir anlaşma değil, sadece tüm SDK paketinin ne kadar modüler olduğu göz önüne alındığında, onu kontrol etmenin bir yolu olacağını düşündüm. Yardımınız için teşekkürler!
primehunter326


6

Windows 10'da Visual Studio 2017 için

kopya C:\Users\YOURUSERNAME\.androidKlasörü (örneğin)E:\avd

Ortam değişkenleri penceresini açın:

  1. Ayarlar'a gidin ve Sistem'e tıklayın.
  2. Sol tarafta Hakkında'yı tıklayın ve alt kısımdan Sistem bilgisi'ni seçin.
  3. Yeni pencerede, soldaki Gelişmiş sistem ayarları'nı tıklayın.
  4. Ortaya çıkan pencerenin altındaki Ortam Değişkenleri'ni tıklayın.

Yeni bir değişken ekleyin:

  • Değişken ismi: ANDROID_SDK_HOME
  • Değişken değeri: bir dizin için bir yol (örneğin E:\avd)

Dahil etmeyin .androidDeğişken değerini .

Visual Studio'yu yeniden başlatın.

SDK ve NDK konumunu değiştirmek için şu adrese gidin:

Araçlar -> Seçenekler -> Xamarin -> Android Ayarları


4

Yeni AVD için .ini dosyasını değiştirebilirsiniz:

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

.İni dosyasının nerede saklanacağını nasıl belirleyeceğimi bilmiyorum :)


4

Ortam değişkeni ANDROID_AVD_HOME, AVD Manager'ın AVD INI dosyalarını arayacağı dizini tanımlamak için kullanılabilir ve bu nedenle sanal aygıtların konumunu değiştirmek için kullanılabilir;

Varsayılan değer %USERPROFILE%\.android\avdWindows'ta (veya ~/.android/avdLinux'ta).

%USERPROFILE%\.androidWindows üzerindeki tüm dizin için bir bağlantı (veya dizin için bir sym-bağlantısı da oluşturulabilir)~/.android Linux üzerindeki ) da oluşturulabilir.

AVD'leri taşırken, pathAVD INI dosyasındaki girişin buna göre güncellenmesi gerekir.


Bu ANDROID_AVD_HOME ortam değişkeni, diğer kullanıcılar / dağıtımlar aynı AVD'leri kullanabildiğinden ~ / .android içinde depolanan kullanıcıya özgü yapılandırmanın herhangi birini taşımaktan kaçındığı için ANDROID_SDK_HOME'a değişebilir. Linux'ta, ~ / .profile içine ANDROID_AVD_HOME verdim ve güzel çalışıyor.
John

3

Ortam değişkenleriyle uğraşmadan ANDROID_SDK_HOME'u belirtmenin başka bir yolu da (özellikle ec2 kullanırken) bir tutulma kısayolu oluşturmak ve aşağıdakileri hedef olarak eklemektir.

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

Bu, tutulmayı başlattığınızda ANDROID_SDK_HOME'u sistem değişkeni olarak ayarlar.

HTH Paul


3

Lütfen aşağıdakilere dikkat edin: Android araç dizininde android.bat'ın değiştirilmesi, önceki bir yanıtta önerildiği gibi sorunlara yol açabilir.

Bunu yaparsanız, .android dizininizi varsayılan olmayan bir konuma yasal olarak yerleştirmek için Android Studio tarafından listelenen AVD'ler ("Araçlar> Android> AVD Yöneticisi" kullanılarak) ve tarafından listelenen AVD'ler arasında bir tutarsızlık olabilir. sdk komut satırı aracı "android avd".

Sanırım Android Studio, dahili AVD Yöneticisi ile android.bat değiştirilmiş yolu kullanmıyor; AVD'leri bulmak için ANDROID_SDK_HOME değişkenine dayanır.

Kendi testlerim, Android araçlarının ANDROID_SDK_HOME değişkenini doğru kullandığını gösterdi.

Bu nedenle, bildiğim kadarıyla android.bat'ı değiştirmenin ve ortam değişkenini kullanmanın bir anlamı yoktur.


3

Windows 10'da bu sorun vardı çünkü C Sürücüm doluydu ve boş alana ihtiyacım vardı, AVD klasöründe 14 gig alanı vardı, bu yüzden bu klasörü başka bir sürücüye taşımam gerekiyordu, ilk cevap benim için çalışmıyor, bu yüzden düzeltmenin başka bir yolunu test ettim Bu sorun, aynı sorun varsa, sizin için bir resim yapmak, .android klasöründeki tüm dosyaları başka bir sürücüye taşımak zorunda değilsiniz (bu şekilde çalışmaz) sadece avd klasörlerini taşımak .... android \ avd to başka bir sürücü açın ve .ini dosyalarını açın ve avd klasör yolunu bu dosyadan yeni yola değiştirin. Bu resmi beğen:

resim eski yolu yeni yola nasıl değiştireceğinizi görmenize yardımcı olur

Umarım bu senin için işe yarar.


1

Benim durumumda, C: sürücü disk alanı hakkında endişe ediyorum. Yaptığım şey ".avd" klasörünü (dosya değil) başka bir sürücüye kopyalamak ve ".ini" dosyasını orada bırakmak ama taşınmak için değiştirmek


1

En kolay yolun avd klasörünü C: \ Users [USER] .android klasöründen istediğiniz konuma taşımak ve daha sonra aynı ada sahip C: \ Users [USER] .android klasöründe sembolik bir bağlantı oluşturmak olduğunu düşünüyorum .

Bunu nasıl yapacağınızı merak ediyorsanız, önce Link Shell Extension'ı kurun . Klasör hareketinden sonra sağ tıklayın ve Bağlantı Kaynağı Seç'i seçin, ardından .android klasörünü sağ tıklayın ve Farklı Bırak ... alt menüsünde Sembolik Bağlantı'yı seçin .


Bu işe yarıyor ve dürüst olmak gerekirse çok daha yüksek olmalı. ek olarak, C:\Users\user\AppData\Local\Android\Sdk\system-imagesorası da çok yer kaplayan sembolik bir bağlantı oluşturabilirsiniz . herhangi bir üçüncü taraf araç kullanmanıza gerek yok, mklink /D system-images D:\path\to\system-imagesgayet iyi çalışıyor
sincap

1

Https://www.mysysadmintips.com/windows/clients/761-move-android-studio-avd-folder-to-a-new-location adresini takip ettim .

  1. "C: \ Users \ kullanıcı \ .android \ avd" klasörünü "D: \ Android \ .android \ avd" klasörüne (veya başka bir şeye) kopyalamaya başlayın.

  2. Android Studio'yu ve çalışan emülatörleri kapatın.

  3. Düğmesine basın Win + Breakve açın Advanced System Settings. Sonra tuşuna basın Environment Variables. Bir kullanıcı değişkeni ekleyin ANDROID_SDK_HOME. (Ben denemedim ANDROID_AVD_HOME.) Variable valueAlan yazarken D:\Android. SDK'yı başka bir klasöre de taşıdıysanız değiştirin ANDROID_HOME( değiştirmeyi unuttum ve bazı emülatörler başlatılmadı, bkz. Https://stackoverflow.com/a/57408085/2914140 ).

  4. Klasörün kopyalamayı bitirmesini bekleyin ve Android Studio'yu başlatın.

  5. Android Virtual Device ManagerEmülatörlerin listesini açın ve görün. Öykünücüler görmüyorsanız ve varsa, muhtemelen 3. adımda kullanıcı değişkeni değerine yanlış yol girdiniz. Bu durumda AS'yi kapatın, değişkeni değiştirin ve AS'yi tekrar açın.

  6. Herhangi bir öykünücüyü başlatın. Durumunu geri yüklemeye çalışır, ancak bazen başarısız olur . Android duvar kağıdı yerine siyah bir ekran görünebilir.

  7. Bu durumda şunları yapabilirsiniz:

    a. Emülatörünüzü yeniden başlatın. Bunu yapmak için çalışan emülatörü kapatın, ardından AVD Manager'da tıklayın Cold Boot Now.

resim açıklamasını buraya girin

b. Bu yardımcı olmadıysa, "D: \ Android \ .android \ avd \ Pixel_API_27.ini" dosyasında bulunan emülatör ayarlarını açın.

resim açıklamasını buraya girin

Yeni bir AVD klasörünün yolunu değiştirin. Emülatörü yeniden başlatın.

  1. Eski AVD klasörünü "C: \ Users \ user \ .android \ avd" klasöründen silin.

0

ANDROID_SDK_HOME da benim için Windows 8 x64 üzerinde çalıştı da tüm konumu bulmak (benim durumumda d: \. Android) ve silin. Artık ihtiyacınız olmayacak.


0

AVD yöneticisinde, AVD'yi bir hedef kullanarak kurduktan sonra Google APIs, çalışma sırasında hata alıyordu.

Detay gösterdi: "AVD Bilinmeyen hedef 'Google Inc.:Google API'ları: ......"

Yükleme sırasında (Win7 sisteminde), SDK dizin konumu seçmiştim, kabul etmek yerine C:\Users\... bu dizini ortam değişkeni 'path' komut satırına ekledim : android liste hedefleri birkaç Google API'sı gösterdi.

ANDROID_SDK_HOMEYükleme yolumu ayarlamak avd çalıştırma hatasını düzeltti.


0

Değişken adı: ANDROID_SDK_HOME
Değişken değeri: C: \ Kullanıcılar> Kullanıcı Adı

benim için çalıştı.


0

MacOs Bir dizin alın

./emulator -help-datadir

varsayılan dizin:

/Users/{your_computer_user_name}/.android

ve sonra özel öykünücü dizini örneğinizin yolunu içeren avd Folder edit .ini dosyasına gidin:

path = / Birimler / Macintos / _emulatorandroid / avd / Nexus_5X_API_27.avd path.rel = avd / Nexus_5X_API_27.avd hedef = android-27

ve sonra kaydedin. Şimdi Emülatörünüz değişti

resim açıklamasını buraya girin

Ve Sonuç:

resim açıklamasını buraya girin


0

büyük 4 adım vardır 1. i gibi 2.android klasörü istediğiniz konuma kopyalayın D:\Android\.android 2. ANDROID_AVD_HOME ANDROID_AVD_HOME D:\Android\.android\avd 3 gibi ortam değişkenleri ayarlayın. avd name.ini dosya içeriğini 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. gibi yeni bir konumla değiştirin.


0

1 - AVD'yi yeni Klasöre Taşı

2 - Başlat Menü> Denetim Masası> Sistem> Gelişmiş Sistem Ayarları (solda)> Ortam Değişkenleri Yeni bir kullanıcı değişkeni ekle: Değişken adı: ANDROID_AVD_HOME Değişken değeri: seçtiğiniz bir dizine giden yol

3 - .INI Dosyasını değiştir Yeni klasörü ayarla.

4 - Android Studio'yu açın

ÇALIŞMALARI - Windows 2010

DAHA FAZLA TALİMATLAR: https://developer.android.com/studio/command-line/variables

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.