Android Market desapareció después de reiniciar el emulador en Windows [duplicado]

Posible duplicado:
Android Market desapareció después de reiniciar el emulador

Tengo el mismo problema que se menciona aquí . Pero mis especificaciones son las siguientes:

SO = Windows 7 SP1 SDK Revisión = 21.0.1

  • SO = Windows 7 SP1
  • Revisión SDK = 21.0.1
  • SDK de Android = 3.0 (nivel de API 11)

Detalles AVD

Nombre: DemoDevice1

CPU/ABI: BRAZO (armeabi)

Ruta: c:\Users\The WABBIT.android\AVD\DemoDevice1.avd

Destino: Android 3.0 (API nivel 11)

Piel: WXGA

Tarjeta SD: 2048

hw.lcd.densidad: 213

vm.heapTamaño: 32

hw.ramTamaño: 1024

Ya eliminé SdkSetup.apk del emulador y luego agregué los paquetes GoogleServicesFramework.apk y Vending.apk al emulador.

Pero, al reiniciar, todo se revierte a antes de que se realizaran los cambios. No puedo encontrar un archivo img actualizado en ningún directorio temporal o en ningún directorio, como se describe en la publicación mencionada anteriormente.

Puede alguien ayudarme con esto?

el directorio /tmp/ que se menciona, AFAIK, está en la "PC" (linux en este caso), no en el sistema de archivos del emulador.
Ryan, entendí perfectamente que la respuesta dada en Android Market que desapareció después de reiniciar el emulador era probablemente lo que necesitaba. Pero la ubicación del directorio temporal .img y el nombre del .img no se encontraron en mi PC con Windows 7. Lo que se proporcionó allí era más que probable solo para Linux o para esa revisión específica de SDK.
De todos modos, encontré el directorio temporal .img y el archivo .img. Una vez más, no coincide con nada de la respuesta en Android Market que desapareció después de reiniciar el emulador . La respuesta seguirá.
ahora que lo ha encontrado en Windows, le sugiero que publique su respuesta en la pregunta original.

Respuestas (1)

Para aquellos que usan la versión de Windows del SDK de Android, la respuesta dada en Android Market desapareció después de reiniciar el emulador es lo correcto. Pero el nombre del archivo .img y la ubicación del directorio temporal difieren de los que figuran en esa publicación.

No puedo decir la razón de la diferencia, pero sospecho que se debe a una de las siguientes razones.

  1. Estoy usando Windows en lugar de Linux.
  2. Estoy usando una revisión diferente del SDK, realmente no puedo decirlo porque no se mencionó la revisión del SDK en la publicación anterior.
  3. O podría ser tanto 1 como 2.

De todas formas, encontrará el directorio temp .img en la siguiente ubicación:

SystemDrive \Users\ [nombre de usuario] \AppData\Local\Temp\AndroidEmulator

El nombre del archivo será similar al siguiente:

TMP19AD.tmp

Nota: - El nombre del archivo cambiará cada vez que ejecute el emulador. - Que el tamaño del archivo siempre será de 0 bytes si el emulador se está ejecutando. - Es más fácil trabajar en un dispositivo virtual a la vez cuando se accede a los archivos temporales .img. De lo contrario, se vuelve confuso qué archivo es para qué dispositivo virtual.

Para hacer que sus cambios sean permanentes, haga lo siguiente:

  1. Trabaje en un dispositivo virtual a la vez.
  2. Copie el .tmp del directorio de AndroidEmulator a una ubicación temporal antes de salir del emulador.
  3. Cambie el nombre del archivo *.tmp a system.img.
  4. Copie el archivo system.img en el directorio AVD de su dispositivo virtual. Sobrescribir cualquier archivo system.img anterior.

He creado el siguiente archivo por lotes para hacer la copia.

system_copy.bat

@echo off
rem
rem system_copy.bat
rem
rem Command-line reference:
rem     system_copy [drive_letter] [account_username] [virtual_device's_name]
rem

rem
rem check to see if the user entered the parameters needed
rem
rem check for the drive letter
if [%1] == [] goto :error1
rem check for the account username
if [%2] == [] goto error2
rem check for the virtual device's name
if [%3] == [] goto error3

rem
rem set the paths for the tmp_path and main_avd_path
rem to use in the copying process
rem
:SetPaths
rem Grab current directory before we change it
rem this will be directory outside of the virtual device's directory
set main_avd_path="%cd%"

rem set the current location for the temp AVD .img files
set tmp_path=%1:\Users\%2\AppData\Local\Temp\AndroidEmulator

rem now we need to verify a few things

rem verify that the temp_path exist
if not exist %tmp_path% goto error4
rem verify that the temporary .img file exist
if not exist %tmp_path%\*.tmp goto error5

rem now we begin the copying of the system.img file
echo.
echo Copying the *.tmp file to the virtual device's avd directory as system.img.
echo.

copy %tmp_path%\*.tmp %main_avd_path%\%3%.avd\system.img /y >nul

rem check for any errors in copying the file
for %%e in (5 4 3 2 1) do if errorlevel %%e goto copyerror-%%e

if not errorlevel == 0 goto copyerror-0

rem show copy succes message
echo.
echo Copying is complete.
echo.
goto :EOF

rem beginning of the error messages
:error1
    echo.
    echo ERROR: System drive letter not specified.
    echo Please rerun this batch file and specify the system drive letter.
    echo.
    echo Command-line reference:
    echo    system_copy [drive_letter] [account_username] [virtual_device's_name]
    goto :EOF

:error2
    echo.
    echo ERROR: User account name not specified.
    echo Please rerun this batch file and specify the User account name.
    echo.
    echo Command-line reference:
    echo    system_copy [drive_letter] [account_username] [virtual_device's_name]
    goto :EOF

:error3
    echo.
    echo ERROR: Virtual device's name not specified.
    echo Please rerun this batch file and specify the AVD name.
    echo.
    echo Command-line reference:
    echo    system_copy [drive_letter] [account_username] [virtual_device's_name]
    goto :EOF

:error4
    echo.
    echo ERROR: AndroidEmulator folder '%tmp_path%' does not exist.
    echo Please verify that the AndroidEmulator folder has been created at '%tmp_path%' then restart this batch file.
    goto :EOF

:error5
    echo.
    echo ERROR: Temporary .img file does not exist.
    echo Check to see if the virtual device is running, then rerun this batch file.
    echo.
    echo Command-line reference:
    echo    system_copy [drive_letter] [account_username] [virtual_device's_name]
    goto :EOF

:copyerror-0
    echo.
    echo COPY ERROR:  There was an unknown copy error.
    echo.
    goto :EOF

:copyerror-1
    echo.
    echo COPY ERROR:  No files were found to copy.
    echo.
    goto :EOF

:copyerror-2
    echo.
    echo COPY ERROR:  The user pressed CTRL+C to terminate xcopy.
    echo.
    goto :EOF

:copyerror-3
    echo.
    echo COPY ERROR:  Initialization error occurred. There is not enough memory or disk space.
    echo.
    goto :EOF

:copyerror-4
    echo.
    echo COPY ERROR:  Disk write error occurred.
    echo.
    goto :EOF

:copyerror-5
    echo.
    echo COPY ERROR:  No files were found to copy.
    echo.
    goto :EOF


rem EOF

copie y pegue el código anterior en su editor de texto favorito y guárdelo como system_copy.bat.

Coloque este archivo por lotes en el directorio principal del directorio avd del dispositivo virtual.

Para ejecutarlo, mientras se ejecuta el avd del dispositivo virtual:

  1. Mostrar un indicador de cmd
  2. Ir al directorio en el que se encuentra el archivo por lotes
  3. Ejecute el archivo por lotes con la siguiente sintaxis de comando:

system_copy [drive_letter] [cuenta_usuario] [virtual_device's_name]

ejemplo:

 system_copy C "The WABBIT" Nexus_7

Eso es todo. Espero que esto ayude a otros.

En mi caso este directorio está vacío. Uso Windows 10. ¿Dónde más puedo buscar ese archivo?