fix: wipe/restart lost date (#3)

This commit is contained in:
D
2024-04-23 21:30:37 +03:00
parent d96d21781b
commit 46e4339c33
5 changed files with 32 additions and 15 deletions
+4 -2
View File
@@ -41,7 +41,8 @@ ENV ANDROID_SDK_ROOT=/opt/android \
ABI=${IMG_TYPE}/${ARCHITECTURE} \ ABI=${IMG_TYPE}/${ARCHITECTURE} \
GPU_ACCELERATED=$GPU_ACCELERATED \ GPU_ACCELERATED=$GPU_ACCELERATED \
QTWEBENGINE_DISABLE_SANDBOX=1 \ QTWEBENGINE_DISABLE_SANDBOX=1 \
ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL=10 ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL=10 \
ANDROID_AVD_HOME=/data
# Exporting environment variables to keep in the path # Exporting environment variables to keep in the path
# Android SDK binaries and shared libraries. # Android SDK binaries and shared libraries.
@@ -59,7 +60,8 @@ EXPOSE 5554 5555
# Initializing the required directories. # Initializing the required directories.
RUN mkdir /root/.android/ && \ RUN mkdir /root/.android/ && \
touch /root/.android/repositories.cfg touch /root/.android/repositories.cfg && \
mkdir /data
# Exporting ADB keys. # Exporting ADB keys.
#COPY keys/* /root/.android/ #COPY keys/* /root/.android/
+4 -2
View File
@@ -44,7 +44,8 @@ ENV ANDROID_SDK_ROOT=/opt/android \
ABI=${IMG_TYPE}/${ARCHITECTURE} \ ABI=${IMG_TYPE}/${ARCHITECTURE} \
GPU_ACCELERATED=$GPU_ACCELERATED \ GPU_ACCELERATED=$GPU_ACCELERATED \
QTWEBENGINE_DISABLE_SANDBOX=1 \ QTWEBENGINE_DISABLE_SANDBOX=1 \
ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL=10 ANDROID_EMULATOR_WAIT_TIME_BEFORE_KILL=10 \
ANDROID_AVD_HOME=/data
# Exporting environment variables for keeping in the path # Exporting environment variables for keeping in the path
# Android SDK binaries and shared libraries. # Android SDK binaries and shared libraries.
@@ -62,7 +63,8 @@ EXPOSE 5554 5555
# Initializing the required directories. # Initializing the required directories.
RUN mkdir /root/.android/ && \ RUN mkdir /root/.android/ && \
touch /root/.android/repositories.cfg touch /root/.android/repositories.cfg && \
mkdir /data
# Exporting ADB keys. # Exporting ADB keys.
#COPY keys/* /root/.android/ #COPY keys/* /root/.android/
+8 -1
View File
@@ -76,7 +76,6 @@ You can generate one by running `adb keygen adbkey`, that generates 2 files - ad
override them inside ./keys directory. override them inside ./keys directory.
### Running the container ### Running the container
Once the image is built, you can mount your KVM driver on the container and expose its ADB port. Once the image is built, you can mount your KVM driver on the container and expose its ADB port.
@@ -87,6 +86,14 @@ Once the image is built, you can mount your KVM driver on the container and expo
docker run -it --rm --device /dev/kvm -p 5555:5555 android-emulator docker run -it --rm --device /dev/kvm -p 5555:5555 android-emulator
``` ```
### Save data/storage after restart (wipe)
All avd save in docker dir `/data`, name for avd is `android`
```bash
docker run -it --rm --device /dev/kvm -p 5555:5555 -v ~/android_avd:/data android-emulator
```
### Connect ADB to the container ### Connect ADB to the container
The ADB server in the container will be spawned automatically and listen on all interfaces in the container. After a few seconds, once the kernel has booted, you will be able to connect ADB to the container. The ADB server in the container will be spawned automatically and listen on all interfaces in the container. After a few seconds, once the kernel has booted, you will be able to connect ADB to the container.
+1
View File
@@ -23,6 +23,7 @@ services:
volumes: volumes:
- ./keys/adbkey:/root/.android/adbkey:ro - ./keys/adbkey:/root/.android/adbkey:ro
- ./keys/adbkey.pub:/root/.android/adbkey.pub:ro - ./keys/adbkey.pub:/root/.android/adbkey.pub:ro
- ./android_avd:/data
extra_hosts: extra_hosts:
- "host.docker.internal:host-gateway" - "host.docker.internal:host-gateway"
+13 -8
View File
@@ -25,14 +25,19 @@ socat tcp-listen:"$ADB_PORT",bind="$LOCAL_IP",fork tcp:127.0.0.1:"$ADB_PORT" &
export USER=root export USER=root
# Creating the Android Virtual Emulator. # Creating the Android Virtual Emulator.
echo "Creating the Android Virtual Emulator ..." TEST_AVD="$(emulator -list-avds | grep android)"
echo "Using package '$PACKAGE_PATH', ABI '$ABI' and device '$DEVICE_ID' for creating the emulator" if [ -z "$TEST_AVD" ]; then
echo no | avdmanager create avd \ echo "Use the exists Android Virtual Emulator ..."
--force \ else
--name android \ echo "Creating the Android Virtual Emulator ..."
--abi "$ABI" \ echo "Using package '$PACKAGE_PATH', ABI '$ABI' and device '$DEVICE_ID' for creating the emulator"
--package "$PACKAGE_PATH" \ echo no | avdmanager create avd \
--device "$DEVICE_ID" --force \
--name android \
--abi "$ABI" \
--package "$PACKAGE_PATH" \
--device "$DEVICE_ID"
fi
if [ "$OPT_SKIP_AUTH" == "true" ]; then if [ "$OPT_SKIP_AUTH" == "true" ]; then
AUTH_FLAG="-skip-adb-auth" AUTH_FLAG="-skip-adb-auth"