Widzę wiele postów o zapisywaniu na kartę SD, ale uważam, że mój problem jest inny. Nie mogę utworzyć karty SD podczas tworzenia AVD.
Początkowo próbowałem użyć Android SDK i AVD Manager, aby to zrobić, wybierając
Nazwa : my_avd
Cel : Android 2.2 - API Poziom 8
Karta SD : Rozmiar: 1024 MiB
Skórka : Wbudowana: Domyślna (HVGA)
Sprzęt : Właściwość: Abstrakcyjny wyświetlacz LCD Gęstość, wartość: 160
Pojawi się okno z komunikatem:
„Wynik tworzenia AVD 'my_avd':
Błąd: nie udało się utworzyć karty SD”.
Próbowałem powtórzyć proces z linii poleceń, otrzymując podobny błąd:
alex@alex-desktop:~$ android create avd -n my_avd -t 1 -c 1024M
Android 2.2 is a basic Android platform.
Do you wish to create a custom hardware profile [no]no
Error: Failed to create the SD card.
Próba wykonania instrukcji korzystania z mksdcard była równie bezproduktywna; Myślę, że mój podstawowy brak doświadczenia w Linuksie może powodować tutaj problem. Kiedy próbuję użyć mksdcard, po prostu zgłasza, że nie może znaleźć pliku lub katalogu. Czy narzędzie mksdcard jest dostępne do użytku w ten sposób w systemie Linux?
alex@alex-desktop:~$ mksdcard 1024M ./sdcard.iso
bash: /home/alex/android-sdk-linux_x86/tools/mksdcard: No such file or directory
alex@alex-desktop:~$ sudo android create avd -n my_avd -t 1 -c 1024M
Dodałem katalog narzędzi Androida do mojej zmiennej PATH, ale wydaje mi się, że jest coś innego, czego mi brakuje. Może jakieś prawa dostępu?
Próba uruchomienia polecenia Androida z sudo również nie pomogła:
alex@alex-desktop:~/android-sdk-linux_x86/tools$ sudo ./android create avd -n my_avd -t 1 -c 1024M
Android 2.2 is a basic Android platform.
Do you wish to create a custom hardware profile [no]no
Error: Failed to create the SD card.
Próbowałem nawet zainstalować Eclipse i wtyczkę ADT i uruchomić stamtąd menedżera bez skutku. Wszelkie wskazówki będą mile widziane. Zaawansowane ostrzeżenie, że jestem nieco początkującym użytkownikiem Linuksa, więc nawet jeśli wydaje się oczywistą rzeczą do sprawdzenia, nadal mogłem to przeoczyć.
~/.android/avd/whateveryoucalledit/
), więc nie mogę do końca pojąć, jak można utworzyć AVD, ale nie AVD z kartą SD.Odpowiedzi:
Więc znalazłem problem. Używałem 64-bitowej instalacji Linuksa, która domyślnie nie miała zainstalowanego pakietu ia32-libs. Narzędzie mksdcard nie będzie działać bez tego pakietu. Po zainstalowaniu udało mi się bez problemu zbudować AVD za pomocą menedżera AVD.
źródło
ia32-libs
instalowaćlibstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
.dnf install glibc.i686 libstdc++.i686
Na Ubuntu 16.04 LTS x64, używając Android Studio 2.1 (również testowanego na 2.3.3), uruchom z terminala:
sudo apt-get install lib32stdc++6
źródło
Miałem taki sam błąd jak ty i właśnie go rozwiązałem, więc może to ci pomoże (chociaż nie sądzę, że twój błąd jest spowodowany tym samym problemem, co ja).
Okazało się, że wszystkie narzędzia w ../tools nie mają uprawnień do wykonywania, więc użyłem
chmod -R 777 ../tools
z wiersza poleceń i wreszcie działa
źródło
.txt
, że.xml
pliki itp.Jak inni już napisali, problem polega na tym, że twoja dystrybucja Linuksa jest 64-bitowa i obecnie urządzenie wirtualne Androida ( AVD ) wymaga biblioteki x86 do prawidłowego działania.
Ktoś zasugerował zainstalowanie ia32-libs . Jednak w Ubuntu 14.04 LTS nie znajdziesz tej biblioteki. Rozwiązałem za pomocą tych alternatywnych bibliotek: lib32z1 , lib32ncurses5 , lib32bz2-1.0 i lib32stdc ++ .
sudo apt-get update sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++
źródło
Właśnie napotkałem ten sam problem. ŻADNE z narzędzi SDK nie będzie działać na 64-bitowym systemie Ubuntu bez instalowania ia32-libs (PRZYKŁAD: sudo apt-get install ia32-libs).
źródło
W elementarnym systemie operacyjnym i ubuntu rozwiązaniem była instalacja następujących pakietów
sudo apt-get install lib32ncurses5 lib32z1 sudo apt-get install libgcc1:i386
źródło
alex@alex-desktop:~$ mksdcard 1024M ./sdcard.iso bash: /home/alex/android-sdk-linux_x86/tools/mksdcard: No such file or directory alex@alex-desktop:~$ sudo android create avd -n my_avd -t 1 -c 1024M
Znalazłem ten problem i najpierw znajduję sposób:
cd /home/alex/android-sdk-linux_x86/tools/
następnie napisz to:
sudo chmod 755 mksdcard mksdcard 1024M ./sdcard.iso sudo android create avd -n my_avd -t 1 -c 1024M
powinno działać :)
źródło
Jeśli używasz Kali, Debian Jessie (lub Ubuntu 13.10+), spróbuj
sudo apt-get install lib32stdc ++ 6
zamiast wspomnianych powyżej bibliotek ia32.
źródło
sudo apt-get install lib32stdc++6
Po tym mogą pojawić się następujące błędy
Cannot launch AVD in emulator. Output: libGL error: unable to load driver: i965_dri.so libGL error: driver pointer missing libGL error: failed to load driver: i965 libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast X Error of failed request: GLXBadContext Major opcode of failed request: 154 (GLX) Minor opcode of failed request: 6 (X_GLXIsDirect) Serial number of failed request: 49 Current serial number in output stream: 48 libGL error: unable to load driver: i965_dri.so libGL error: driver pointer missing libGL error: failed to load driver: i965 libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast X Error of failed request: GLXBadContext Major opcode of failed request: 154 (GLX) Minor opcode of failed request: 6 (X_GLXIsDirect) Serial number of failed request: 49 Current serial number in output stream: 48 libGL error: unable to load driver: i965_dri.so libGL error: driver pointer missing libGL error: failed to load driver: i965 libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast emulator: WARNING: VM heap size set below hardware specified minimum of 228MB X Error of failed request: BadValue (integer parameter out of range for operation) emulator: WARNING: Setting VM heap size to 384MB Major opcode of failed request: 154 (GLX) Minor opcode of failed request: 24 (X_GLXCreateNewContext) Value in failed request: 0x0 Serial number of failed request: 33 Current serial number in output stream: 34 QObject::~QObject: Timers cannot be stopped from another thread
Użyj tych 3 poleceń, aby je rozwiązać
mv ~/Android/Sdk/tools/lib64/libstdc++/libstdc++.so.6{,.bak} mv ~/Android/Sdk/tools/lib64/libstdc++/libstdc++.so.6.0.18{,.bak} ln -s /usr/lib/libstdc++.so ~/Android/Sdk/tools/lib64/libstdc++/**
źródło
Miałem też ten problem i po zainstalowaniu pakietu i386 udało mi się stworzyć kartę SD dla mojego emulatora Androida, musiałem zrobić dwa kroki
sudo apt-get update sudo apt-get install ia32-libs
Po zakończeniu udało mi się stworzyć emulator z dołączoną kartą SD
źródło
Miałem inny problem: narzędzia platformy były na mojej drodze, ale narzędzia nie. Tak więc wszystko działało, z wyjątkiem tego, że obraz SDCard nie został utworzony. Nie było o tym żadnej wiadomości, gdy utworzyłem avd w eclipse, a urządzenie wirtualne zostało utworzone z naprawdę małą kartą SD, co spowodowało ciągłe wyrzucanie błędu niedostępnego nośnika podczas instalacji aplikacji.
źródło
Miałem inny problem podczas korzystania z 32-bitowego Ubuntu. Kiedy próbowałem ręcznie uruchomić mksdcard, otrzymywałem komunikat o błędzie nie znaleziono pliku.
Problem dotyczył open-jre / jdk. Zainstalowałem Oracle Java i problem został rozwiązany. Niestety nie możesz już zainstalować Oracle Java przez apt / synaptic i musisz przeskoczyć przez kilka dodatkowych obręczy:
https://github.com/flexiondotorg/oab-java6
źródło
Podczas testów Debiana, kiedy próbowałem uruchomić ./tools/mksdcards, otrzymałem błąd:
error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Zainstalowanie lib32stdc ++ 6 rozwiązuje problem i było możliwe utworzenie pliku avd.
źródło
MyOS to Oracle Unbreakable Linux 6 - aby rozwiązać ten problem musiałem zainstalować pakiet libstdc ++ - 4.4.6-3.el6.i686.
źródło
Po wielu instalacjach i nie uzyskaniu żadnego wyniku znalazłem to i zadziałało.
Dzieje się tak, ponieważ
sdk/tools
nie można wykonać niektórych plików wykonywalnych w programie . Przejdź do folderów Android Studio i Android SDK i ustaw wszystkie katalogi i pliki jako wykonywalne za pomocą tego polecenia:chmod +x -R *
źródło
Spróbuj przenieść folder SDK systemu Android do folderu domowego. To działa.
źródło
Miałem ten sam problem. Po rozwiązaniu problemu dowiedziałem się, że to dlatego, że mój system Windows jest 32-bitowy, a moja karta mksdcard jest kompatybilna tylko z 64-bitową. Następnie po prostu skopiowałem 32-bitową kartę mksdcard do folderu narzędzi i usunąłem starszą. To rozwiązało mój problem.
źródło
Dla osób, które miały ten sam problem z oknami. Dla mnie to dlatego, że narzędzie mksdcard.exe nie mogło działać pomyślnie. Niektóre narzędzia SDK, takie jak mksdcard.exe, wymagają środowiska uruchomieniowego Microsoft Visual C ++. Więc przejdź do właściwości systemu i sprawdź typ systemu:
Następnie na podstawie typu systemu (dla mnie był to x64) pobierz / zaktualizuj najnowszy pakiet redystrybucyjny Microsoft Visual C ++ dla programu Visual Studio 2019 z linku https://visualstudio.microsoft.com/downloads/
Po zainstalowaniu Microsoft Visual C ++ mój problem został rozwiązany. Udało mi się pomyślnie stworzyć AVD.
źródło