Można zmienić, gdzie są zapisywane urządzenia wirtualne z Androidem?

185

Skonfigurowałem zestaw Android SDK i Eclipse na moim komputerze z systemem Windows XP, a AVD (urządzenia wirtualne z Androidem) są domyślnie zapisywane w folderze „ Documents and Settings \ user \ .android”. Czy istnieje sposób na zmianę tego zachowania? Mam wszystkie pozostałe komponenty zapisane w katalogu na osobnej partycji i chciałbym, aby wszystko zostało skonsolidowane. Oczywiście nie jest to wielka sprawa, ale czy ktoś tu zna obejście tego problemu?

primehunter326
źródło
Zrobiłem wirtualny dysk RAM 100 razy szybszy niż SSD, a przenoszenie plików emulatora na ten dysk bardzo przyspiesza ładowanie emulatora.
Vinigas,
@Vinigas Czy możesz rozwinąć proszę „Dysk RAM, który jest 100x” Chcę też przyspieszyć mój emulator
Utsav Gupta
Używam oprogramowania „SoftPerfect RAM disk” do tworzenia dysku wirtualnego. Następnie umieszczam pliki emulatora Androida na tym dysku RAM i ustawiam lokalizację emulatora. Jeśli masz dysk twardy, zobaczysz dużą różnicę między emulatorem w dysku twardym a pamięcią RAM.
Vinigas,
Zapisz pytanie: stackoverflow.com/questions/3109473/…
Saidolim,

Odpowiedzi:

246

Dodaj nową zmienną środowiskową użytkownika (Windows 7):

  1. Menu Start> Panel sterowania> System> Zaawansowane ustawienia systemu (po lewej)> Zmienne środowiskowe

  2. Dodaj nową zmienną użytkownika (u góry), która wskazuje katalog użytkownika domowego:

    Nazwa zmiennej: ANDROID_SDK_HOME
    Wartość zmiennej: ścieżka do wybranego katalogu

Menedżer AVD użyje tego katalogu, aby zapisać w nim swój .androidkatalog.

Dla tych, którzy mogą być zainteresowani, napisałem na blogu o mojej pierwszej próbie rozwoju Androida ...
Androida Android „Hello World”: Tale of Woe

Alternatywnie można użyć Edytora szybkiego środowiska, aby ustawić zmienne środowiskowe.

Wloescher
źródło
1
Dzięki. Czytanie twojego wpisu na blogu było jak przeżycie pierwszych godzin dzisiejszego rozmyślania o tym. Co za ból!
Matt Burland,
6
+1 za twoją informację. ale używam xp. dla mnie to zadziała po ponownym uruchomieniu. Dziękuję Ci.
Gunaseelan
1
To podejście działa dla mnie do momentu ponownego uruchomienia komputera. Win7.
wangf,
2
Lub po prostu wpisz cmdsetx ANDROID_SDK_HOME D:\your\path\here
Петър Петров
13
Zmienna środowiskowa ANDROID_AVD_HOME może być lepsza niż ANDROID_SDK_HOME, ponieważ unika się przenoszenia jakiejkolwiek konfiguracji specyficznej dla użytkownika przechowywanej w ~ / .android, aby inni użytkownicy / dystrybucje mogli więc używać tych samych AVD. Ładnie działał w systemie Linux Debian.
Jan
24

Zmodyfikuj plik „virtual_android2.2.ini” w „C: \ Documents and Settings {login do systemu Windows} .android \ avd \”:

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

I przenieś folder „virtual_android2.2.avd” z „C: \ Documents and Settings {login systemu Windows} .android \ avd \” do „E: \ android_workspace \ avd \”.

diyizm
źródło
To zadziałało dla mnie! Nieco niezręczna konieczność robienia tego dla każdego emulatora, który
stworzę
Dziękuję, uratowałeś mnie !!
shahana kareen
17

Przejdź do katalogu narzędzi Androida. Edytuj plik poleceń android.bat. Mniej więcej na końcu pliku poleceń znajdź wiersz podobny do

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

i zamień

call %java_exe%

z

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

gdzie {twoja_prefer_dire} to preferowany katalog bez nawiasów klamrowych, ale dodaj podwójne cudzysłowy,

na przykład

call %java_exe% -Duser.home="E:\Program Files (x86)\android-sdk-windows"
loftysnake
źródło
2
To działało dla mnie, podczas gdy zaakceptowana odpowiedź nie. To również odpowiada na pytanie OP, czyli o zmianę z katalogu domowego użytkownika na inny katalog AVD, a nie na odwrót.
Adam Burley,
NIE MOŻNA TO ZROBIĆ! Menedżer SDK narzeka na to i nie znajduje nowej lokalizacji folderu ... Użyj ANDROID_SDK_HOME w środowisku użytkownika i zrestartuj komputer może pomóc - [folder .android zostanie utworzony w% android_sdk_home%]
Davideas
16

Na podstawie oficjalnej dokumentacji https://developer.android.com/studio/command-line/variables.html należy zmienić środowisko ANDROID_AVD_HOME var:

Zmienne środowiskowe emulatora

Domyślnie emulator przechowuje pliki konfiguracyjne pod $ HOME / .android / i dane AVD pod $ HOME / .android / avd /. Możesz zastąpić wartości domyślne, ustawiając następujące zmienne środowiskowe. Komenda emulator -avd przeszukuje katalog avd w kolejności wartości w $ ANDROID_AVD_HOME, $ ANDROID_SDK_HOME / .android / avd / oraz $ HOME / .android / avd /. Aby uzyskać pomoc dotyczącą zmiennej środowiskowej emulatora, wpisz emulator -help-environment w wierszu polecenia. Aby uzyskać informacje o opcjach wiersza polecenia emulatora, zobacz Sterowanie emulatorem z wiersza polecenia.

  • ANDROID_EMULATOR_HOME : Ustawia ścieżkę do katalogu konfiguracyjnego emulatora specyficznego dla użytkownika. Domyślna lokalizacja to
    $ ANDROID_SDK_HOME / .android /.
  • ANDROID_AVD_HOME : Ustawia ścieżkę do katalogu zawierającego wszystkie pliki specyficzne dla AVD, które w większości składają się z bardzo dużych obrazów dysków. Domyślna lokalizacja to $ ANDROID_EMULATOR_HOME / avd /. Możesz określić nową lokalizację, jeśli w domyślnej lokalizacji jest mało miejsca na dysku.

Po zmianie lub ustawieniu ANDROID_AVD_HOME będziesz musiał przenieść całą zawartość wewnątrz ~ user / .android / avd / do nowej lokalizacji i zmienić ścieżkę do pliku ini każdego emulatora, po prostu zastąp ją nową ścieżką

Leonardo Sapuy
źródło
1
To powinna być odpowiedź. Dziękuję Ci.
Ned
13

Przenieś swój .android tam, gdzie chcesz.

Następnie utwórz taki symboliczny link:

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

To po prostu mówi Linuksowi, że ilekroć do ścieżki ~ /.androidodwołuje się jakakolwiek aplikacja, połącz ją /path/to/.android.

ps95
źródło
Dziękuję @ prakharsingh95
TonyMkenu
6

Sprawdź to . za pomocą androidpolecenia do utworzenia avdmożesz określić, gdzie umieścić pliki.

-p --path     Location path of the directory where the new AVD will be created
Makaron
źródło
Czy znasz sposób, aby to zrobić za pomocą narzędzia instalacyjnego i ustawić domyślną lokalizację w określonej lokalizacji?
primehunter326
Nie całkiem. Nawet nie używam systemu Windows :(
Macarse
Cóż, jak powiedziałem, to nie jest wielka sprawa, pomyślałem, że będzie jakiś sposób, aby kontrolować to bardziej, biorąc pod uwagę modułowość całego pakietu SDK. Dzięki za pomoc!
primehunter326
Powyższy link jest martwy ( developer.android.com/intl/zh-TW/guide/developing/tools/… )
Jeff Mergler
6

Dla programu Visual Studio 2017 w systemie Windows 10

Kopiuj C:\Users\YOURUSERNAME\.android folder do (na przykład)E:\avd

Otwórz okno zmiennych środowiskowych:

  1. Przejdź do Ustawień i kliknij System.
  2. Po lewej stronie kliknij Informacje i wybierz Informacje o systemie na dole.
  3. W nowym oknie kliknij Zaawansowane ustawienia systemu po lewej stronie.
  4. Kliknij Zmienne środowiskowe u dołu wynikowego okna.

Dodaj nową zmienną:

  • Nazwa zmiennej: ANDROID_SDK_HOME
  • Zmienna wartość: ścieżka do katalogu (np. E:\avd)

Nie uwzględniaj .androidw wartości zmiennej.

Uruchom ponownie Visual Studio.

Aby zmienić lokalizację SDK i NDK, przejdź do:

Narzędzia -> Opcje -> Xamarin -> Ustawienia Androida

użytkownik2511140
źródło
4

Możesz zmienić plik .ini dla nowego AVD:

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

Nie wiem, jak określić, gdzie plik .ini powinien być przechowywany :)

JFrostos
źródło
4

Zmienna środowiskowa ANDROID_AVD_HOMEmoże być użyta do zdefiniowania katalogu, w którym Menedżer AVD będzie szukał plików AVD INI, a zatem może być wykorzystana do zmiany lokalizacji urządzeń wirtualnych;

Wartość domyślna to %USERPROFILE%\.android\avdWindows (lub ~/.android/avdLinux).

Można również utworzyć łącze do całego katalogu %USERPROFILE%\.androidw systemie Windows (lub sym-link do katalogu ~/.androidw systemie Linux).

Podczas przenoszenia pathAVD wpis w pliku AVD INI musi zostać odpowiednio zaktualizowany.

Martin Zeitler
źródło
Ta zmienna środowiskowa ANDROID_AVD_HOME może być lepsza niż ANDROID_SDK_HOME, ponieważ unika się przenoszenia jakiejkolwiek konfiguracji specyficznej dla użytkownika przechowywanej w ~ / .android, ponieważ inni użytkownicy / dystrybucje mogą więc używać tych samych AVD. W systemie Linux wyeksportowałem plik ANDROID_AVD_HOME do mojego ~ / .profile i działa dobrze.
Jan
3

Innym sposobem na określenie ANDROID_SDK_HOME bez konieczności manipulowania zmiennymi środowiskowymi (szczególnie przy użyciu ec2) jest po prostu utworzenie skrótu zaćmienia i dodanie następujących elementów jako celu

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

Spowoduje to ustawienie ANDROID_SDK_HOME jako zmiennej systemowej przy każdym uruchomieniu Eclipse.

HTH Paul

Paweł
źródło
3

Proszę zwrócić uwagę na następujące: modyfikowanie android.bat w katalogu narzędzi Androida, jak sugerowano w poprzedniej odpowiedzi, może powodować problemy.

Jeśli to zrobisz, w celu legalnego umieszczenia katalogu .android w lokalizacji innej niż domyślna, może wystąpić niespójność między AVD wymienionymi przez Android Studio (przy użyciu „Narzędzia> Android> AVD Manager”) a AVD wymienionymi przez Narzędzie wiersza polecenia SDK „Android AVD”.

Podejrzewam, że Android Studio z wewnętrznym menedżerem AVD nie korzysta ze zmodyfikowanej ścieżki android.bat; lokalizuje AVD na podstawie zmiennej ANDROID_SDK_HOME.

Moje własne testy wykazały, że narzędzia Android poprawnie używają zmiennej ANDROID_SDK_HOME.

Dlatego, o ile mi wiadomo, modyfikowanie android.bat i używanie zmiennej środowiskowej powinno być preferowane.

SR_
źródło
3

W systemie Windows 10 miałem ten problem, ponieważ mój dysk C zapełnił się i potrzebowałem wolnego miejsca, folder AVD miał 14 gig miejsca, więc musiałem przenieść ten folder do innego sterownika, pierwsza odpowiedź nie działa dla mnie, więc przetestowałem inny sposób, aby naprawić ten problem, zrobię dla ciebie zdjęcie, jeśli masz ten sam problem, nie musisz przenosić wszystkich plików w folderze .android na inny dysk (w ten sposób nie działa), po prostu przenieś foldery avd w .... android \ avd do inny dysk i otwórz pliki .ini i zmień ścieżkę folderu avd z tego pliku na nową ścieżkę. Polub ten obraz:

obraz pomaga zobaczyć, jak zmienić starą ścieżkę na nową

Mam nadzieję, że to dla ciebie działa.

Ali Yousefi
źródło
1

W moim przypadku martwiłem się o miejsce na dysku C:. Skopiowałem więc folder „.avd” (nie plik) na inny dysk i zostaw tam plik „.ini”, ale zmień go, aby wskazywał na przeniesiony

użytkownik829248
źródło
1

Myślę, że najprostszym sposobem jest przeniesienie folderu avd z folderu C: \ Users [USER] .android do wybranej lokalizacji, a następnie utworzenie symbolicznego łącza do niego w C: \ Users [USER] .android o tej samej nazwie.

Jeśli zastanawiasz się, jak to zrobić, najpierw zainstaluj rozszerzenie powłoki powłoki . Po przeniesieniu folderu kliknij go prawym przyciskiem myszy i wybierz opcję Wybierz źródło linku, a następnie kliknij prawym przyciskiem myszy folder .android, aw podmenu Drop As ... wybierz opcję Symbolic Link .

Ali
źródło
to działa i szczerze mówiąc powinno być znacznie wyższe. dodatkowo możesz utworzyć symboliczne łącze C:\Users\user\AppData\Local\Android\Sdk\system-images, które również zjada dużo miejsca. nie musisz używać narzędzi innych firm, mklink /D system-images D:\path\to\system-imagesdziała dobrze
wiewiórka
1

Śledziłem https://www.mysysadmintips.com/windows/clients/761-move-android-studio-avd-folder-to-a-new-lokalizacja .

  1. Rozpocznij kopiowanie folderu „C: \ Users \ user \ .android \ avd” do „D: \ Android \ .android \ avd” (lub czegoś innego).

  2. Zamknij Android Studio i uruchom emulatory.

  3. Naciśnij Win + Breaki otwórzAdvanced System Settings . Następnie naciśnij Environment Variables. Dodaj zmienną użytkownika ANDROID_SDK_HOME. (Nie eksperymentowałem ANDROID_AVD_HOME.) Pisz w Variable valuepolu D:\Android. Jeśli również przeniosłeś SDK do innego folderu, zmień ANDROID_HOME(zapomniałem go zmienić, a niektóre emulatory się nie uruchomiły, patrz https://stackoverflow.com/a/57408085/2914140 ).

  4. Poczekaj, aż folder zakończy kopiowanie i uruchom Android Studio.

  5. Otwórz Android Virtual Device Manageri zobacz listę emulatorów. Jeśli nie widzisz emulatorów i one istniały, prawdopodobnie w kroku 3 wpisałeś nieprawidłową ścieżkę do wartości zmiennej użytkownika. W takim przypadku zamknij AS, zmień zmienną i ponownie otwórz AS.

  6. Uruchom dowolny emulator. Spróbuje przywrócić swój stan, ale czasami się nie powiedzie . Zamiast tapety na Androida może pojawić się czarny ekran.

  7. W takim przypadku możesz:

    za. Uruchom ponownie emulator. Aby to zrobić, zamknij emulator, a następnie kliknij w AVD ManagerCold Boot Now .

wprowadź opis zdjęcia tutaj

b. Jeśli to nie pomogło, otwórz ustawienia emulatora, znalezione w pliku „D: \ Android \ .android \ avd \ Pixel_API_27.ini”.

wprowadź opis zdjęcia tutaj

Zmień ścieżkę do nowego folderu AVD. Uruchom ponownie emulator.

  1. Usuń stary folder AVD z „C: \ Users \ user \ .android \ avd”.
CoolMind
źródło
0

ANDROID_SDK_HOME również pracował dla mnie w systemie Windows 8 x64 również znajdź całą lokalizację (w moim przypadku była to d: \. Android) i usuń ją. Nie będziesz już tego potrzebować.

Alkasai
źródło
0

W menedżerze AVD, po skonfigurowaniu AVD przy użyciu celu z Google APIs, podczas uruchamiania pojawiał się błąd.

Szczegóły pokazały: „AVD Nieznany cel” Google Inc.: Interfejsy API Google: ...... ”

Podczas instalacji (w systemie Win7) wybrałem lokalizację katalogu SDK, zamiast zaakceptować C:\Users\... dodałem ten katalog do zmiennej środowiskowej „ścieżka” Wiersz poleceń: cele listy Androida pokazały kilka Google api.

Ustawienie ANDROID_SDK_HOMEmojej ścieżki instalacji naprawiło błąd uruchamiania AVD.

użytkownik5803030
źródło
0

Nazwa zmiennej: ANDROID_SDK_HOME
Wartość zmiennej: C: \ Users> Nazwa użytkownika

pracował dla mnie.

Buminda
źródło
0

MacOs Uzyskaj katalog Adv

./emulator -help-datadir

domyślny katalog to:

/Users/{your_computer_user_name}/.android

a następnie Przejdź do avd Folder edytuj plik .ini ze ścieżką do przykładu katalogu niestandardowego emulatora:

ścieżka = / Woluminy / Macintos / _emulatorandroid / avd / Nexus_5X_API_27.avd path.rel = avd / Nexus_5X_API_27.avd target = android-27

a następnie zapisz. Teraz twój emulator zmienił

wprowadź opis zdjęcia tutaj

I wynik:

wprowadź opis zdjęcia tutaj

Tung Tran
źródło
0

istnieją 4 główne kroki 1. skopiuj folder .android do wybranej lokalizacji, tak jak to zrobiłem w D:\Android\.android 2. ustaw ANDROID_AVD_HOME w zmiennych środowiskowych, takich jak ANDROID_AVD_HOME D:\Android\.android\avd 3. zmień zawartość pliku avd name.ini na nową lokalizację, np. 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. uruchom ponownie studio Android

Durgesh Kumar
źródło
0

1 - Przenieś AVD do nowego folderu

2 - start Menu> Panel sterowania> System> Zaawansowane ustawienia systemu (po lewej)> Zmienne środowiskowe Dodaj nową zmienną użytkownika: Nazwa zmiennej: ANDROID_AVD_HOME Wartość zmiennej: ścieżka do wybranego katalogu

3 - Zmień plik .INI Ustaw nowy folder.

4 - Otwórz Android Studio

DZIAŁA - Windows 2010

WIĘCEJ INSTRUKCJI: https://developer.android.com/studio/command-line/variables

użytkownik4062512
źródło