Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Back & Restore avd not working #129

Open
omritoptix opened this issue Nov 12, 2018 · 5 comments
Open

Back & Restore avd not working #129

omritoptix opened this issue Nov 12, 2018 · 5 comments

Comments

@omritoptix
Copy link

omritoptix commented Nov 12, 2018

Operating System:
Ubuntu 18.04

Docker Image:
butomo1989/docker-android-x86-7.1.1

Docker Version:
17.12.1-ce

Docker-compose version (Only if you use it):
1.22.0

Docker Command to start docker-android:
docker-compose up --build -d

Expected Behavior

I installed an apk on a fresh avd.
I expected the former avd to be used (with the installed apk) once I restart docker compose with
docker-compose stop && echo 'y' | docker-compose rm && docker-compose up --build -d

Actual Behavior

The avd is initialized from scratch again and doesn't include the previously installed apk.

docker compose file

# Note: It requires docker-compose 1.13.0
#
# Usage: docker-compose up -d
version: "2.2"

services:
  # Docker-Android for Android application testing
  nexus_7.1.1:
    image: butomo1989/docker-android-x86-7.1.1
    container_name: appium_emulator_1
    privileged: true
    # Increase scale number if needed
    scale: 1
    ports:
      - 6080
    # Change path of apk that you want to test. I use sample_apk that I provide in folder "example"
    volumes:
      - ./video-nexus_7.1.1:/tmp/video
      - ./local_backup/.android:/root/.android
      - ./local_backup/android_emulator:/root/android_emulator
    environment:
      - DEVICE=Nexus 5
      - CONNECT_TO_GRID=true
      - APPIUM=true
      - SELENIUM_HOST=selenium_hub
      - AUTO_RECORD=true

Update:

it seems like the file devices.xml is not created under the .android directory which causes the is_initialized() function to return False

@cesarandreslopez
Copy link

The same issue is seen here too. Did you ever get to fix it? @omritoptix

@cesarandreslopez
Copy link

A bit more data in case anyone else encounters this issue. I've found that if before stopping and rm the container I turn off the emulator phone on novnc, this issue goes away.

@K4W1H0R53
Copy link

same issue as above, i try to use docker volume, but it still not save any changes in avd every time i restart/stop the container.

@cleancoderob
Copy link

In the file src/app.py there is a lookup for 'hw.device.name={}', however in the config file for my emulator (Nexus 5), there are spaces around the equals sign. I changed it to 'hw.device.name = {}' and then re-built the image. It now works fine for me, remembering the avd state.

@cleancoderob
Copy link

The spacing issue appears to depend on the API version. I moved from API 27, where the spaces were needed, back to API 23, where the spaces must be removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants