thyrlian / AndroidSDK

🐳 Full-fledged Android SDK Docker Image
Apache License 2.0
1.25k stars 219 forks source link

Copying sdk into container fails due to permission denied #38

Closed AchrafAmil closed 4 years ago

AchrafAmil commented 4 years ago

Running the following command as described in the readme fails with thousands of lines (one for each sdk file ?) stating that permission is denied.

➜  ~ docker run -it --rm -v $(pwd)/sdk:/sdk thyrlian/android-sdk bash -c 'cp -a $ANDROID_HOME/. /sdk'
cp: cannot create directory '/sdk/./sys/fs/cgroup/cpuset': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/cpu': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/cpuacct': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/blkio': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/memory': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/devices': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/freezer': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/net_cls': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/perf_event': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/net_prio': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/hugetlb': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/pids': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/rdma': Permission denied
cp: cannot create directory '/sdk/./sys/fs/cgroup/systemd': Permission denied
cp: cannot create regular file '/sdk/./sys/fs/ext4/features/lazy_itable_init': Permission denied
cp: cannot create regular file '/sdk/./sys/fs/ext4/features/batched_discard': Permission denied
cp: cannot create regular file '/sdk/./sys/fs/ext4/features/meta_bg_resize': Permission denied
cp: cannot create regular file '/sdk/./sys/fs/ext4/features/metadata_csum_seed': Permission denied
cp: cannot create regular file '/sdk/./sys/fs/ext4/vda1/delayed_allocation_blocks': Permission denied
cp: cannot create regular file '/sdk/./sys/fs/ext4/vda1/session_write_kbytes': Permission denied
cp: cannot create regular file '/sdk/./sys/fs/ext4/vda1/lifetime_write_kbytes': Permission denied
cp: cannot create regular file '/sdk/./sys/fs/ext4/vda1/max_writeback_mb_bump': Permission denied
cp: cannot open '/./sys/fs/ext4/vda1/trigger_fs_error' for reading: Permission denied
cp: cannot create regular file '/sdk/./sys/fs/ext4/vda1/errors_count': Permission denied
cp: cannot create regular file '/sdk/./sys/fs/ext4/vda1/first_error_time': Permission denied
...
thyrlian commented 4 years ago

Tested with the latest image v5.0, no problem on my side.

Running command:

docker run -it --rm -v $(pwd)/sdk:/sdk thyrlian/android-sdk:5.0 bash -c 'cp -a $ANDROID_SDK_ROOT/. /sdk'

Please be aware that since 5.0, $ANDROID_HOME has been changed to $ANDROID_SDK_ROOT.

Apart from that, according to the logs:

cp: cannot create directory '/sdk/./sys/fs/cgroup/cpuset': Permission denied

The permission denied issue was caused by the path /sdk/./sys/fs/cgroup/cpuset, the dot /./ is illegal, and more, the appended path seems like OS system path, instead of Android related. Please double check your path in the command.

myost2921 commented 4 years ago

I'm also receiving the same error on my installation:

command:

docker run -it --privileged --rm -v $(pwd)/sdk:/sdk thyrlian/android-sdk:5.0 bash -c 'cp -a $ANDROID_SDK_ROOT/. /sdk'

Logs:

Unable to find image 'thyrlian/android-sdk:5.0' locally
5.0: Pulling from thyrlian/android-sdk
d51af753c3d3: Pull complete 
fc878cd0a91c: Pull complete 
6154df8ff988: Pull complete 
fee5db0ff82f: Pull complete 
298eba734945: Pull complete 
3f6d17f452da: Pull complete 
f0464790651a: Pull complete 
4f183f0a6d5b: Pull complete 
a1b96e74e6b3: Pull complete 
eeb85ac93ac6: Pull complete 
5bcd401d6b82: Pull complete 
94920acf9d67: Pull complete 
b9772ca42896: Pull complete 
07fe86c266f7: Pull complete 
Digest: sha256:6a679bbf5a804b2c43075f5df51bdab3a5093dd7537e405614ce41d7ca022013
Status: Downloaded newer image for thyrlian/android-sdk:5.0
cp: cannot create regular file '/sdk/./cmdline-tools/tools/NOTICE.txt': Permission denied
cp: cannot create regular file '/sdk/./cmdline-tools/tools/bin/apkanalyzer': Permission denied
cp: cannot create regular file '/sdk/./cmdline-tools/tools/bin/avdmanager': Permission denied
thyrlian commented 4 years ago

Hi @myost2921, your logs are a bit different, but the root cause is the same. There happened to be a dot in the path: /sdk/./cmdline-tools/tools/.... I don't really know why.

This seems to be wrong with this part of the command:

bash -c 'cp -a $ANDROID_SDK_ROOT/. /sdk'

Could you please post your host machine OS version and your Docker version too? I just tried on my machine with the same command, no problem at all.

thyrlian commented 4 years ago

In fact, that part of the command is executed inside the docker container, thus I can't imagine why it passed on my machine, but failed on yours, in theory, it should be independent with host machines. But as the /sdk directory is actually mounted from your host machine during the copying, I wonder maybe it's related to the host machine. I tested on my mac without any problem.

thyrlian commented 4 years ago

I just ran the command with verbose output:

docker run -it --rm -v $(pwd)/sdk:/sdk thyrlian/android-sdk:5.0 bash -c 'cp -avr $ANDROID_SDK_ROOT/. /sdk'

From the logs, I noticed that I also have the dot inside the path:

'/opt/android-sdk/./cmdline-tools/tools/NOTICE.txt' -> '/sdk/./cmdline-tools/tools/NOTICE.txt'
'/opt/android-sdk/./cmdline-tools/tools/bin' -> '/sdk/./cmdline-tools/tools/bin'
'/opt/android-sdk/./cmdline-tools/tools/bin/apkanalyzer' -> '/sdk/./cmdline-tools/tools/bin/apkanalyzer'
'/opt/android-sdk/./cmdline-tools/tools/bin/avdmanager' -> '/sdk/./cmdline-tools/tools/bin/avdmanager'

Still, it has no problem on my side. Again, I guess this may be due to the OS behaviour.

Nevertheless, before finding out the root cause, you could simply remove the dot in the original command, make it like this:

docker run -it --rm -v $(pwd)/sdk:/sdk thyrlian/android-sdk:5.0 bash -c 'cp -avr $ANDROID_SDK_ROOT /sdk'

Then on your host machine, you should get everything inside a nested android-sdk directory.

Not a big deal, you just have to move the cmdline-tools/tools one level up, like how it looks in the previous destination. Try to run a command on your host machine. Or append another command after the cp command in the bash -c ''

thyrlian commented 4 years ago

Please also run the command again with r option, and post the verbose log, so that we could see if all copying actions fail or only some of them. Thanks.

myost2921 commented 4 years ago

@thyrlian Here's the logs per for you last comment:

'/opt/android-sdk/licenses/android-googletv-license' -> '/sdk/android-sdk/licenses/android-googletv-license'
'/opt/android-sdk/licenses/android-sdk-license' -> '/sdk/android-sdk/licenses/android-sdk-license'
'/opt/android-sdk/licenses/android-sdk-preview-license' -> '/sdk/android-sdk/licenses/android-sdk-preview-license'
'/opt/android-sdk/licenses/google-gdk-license' -> '/sdk/android-sdk/licenses/google-gdk-license'
'/opt/android-sdk/licenses/intel-android-extra-license' -> '/sdk/android-sdk/licenses/intel-android-extra-license'
'/opt/android-sdk/cmdline-tools/tools/NOTICE.txt' -> '/sdk/android-sdk/cmdline-tools/tools/NOTICE.txt'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/NOTICE.txt': Permission denied
'/opt/android-sdk/cmdline-tools/tools/bin/apkanalyzer' -> '/sdk/android-sdk/cmdline-tools/tools/bin/apkanalyzer'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/bin/apkanalyzer': Permission denied
'/opt/android-sdk/cmdline-tools/tools/bin/avdmanager' -> '/sdk/android-sdk/cmdline-tools/tools/bin/avdmanager'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/bin/avdmanager': Permission denied
'/opt/android-sdk/cmdline-tools/tools/bin/lint' -> '/sdk/android-sdk/cmdline-tools/tools/bin/lint'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/bin/lint': Permission denied
'/opt/android-sdk/cmdline-tools/tools/bin/screenshot2' -> '/sdk/android-sdk/cmdline-tools/tools/bin/screenshot2'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/bin/screenshot2': Permission denied
'/opt/android-sdk/cmdline-tools/tools/bin/sdkmanager' -> '/sdk/android-sdk/cmdline-tools/tools/bin/sdkmanager'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/bin/sdkmanager': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/sdk-common/sdk-common.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/sdk-common/sdk-common.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/sdk-common/sdk-common.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/sdklib/libavdmanager_lib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/sdklib/libavdmanager_lib.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/sdklib/libavdmanager_lib.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/sdklib/libsdkmanager_lib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/sdklib/libsdkmanager_lib.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/sdklib/libsdkmanager_lib.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/sdklib/sdklib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/sdklib/sdklib.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/sdklib/sdklib.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/README' -> '/sdk/android-sdk/cmdline-tools/tools/lib/README'
'/opt/android-sdk/cmdline-tools/tools/lib/analytics-library/protos/src/main/proto/libproto.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/analytics-library/protos/src/main/proto/libproto.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/analytics-library/protos/src/main/proto/libproto.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/analytics-library/shared/analytics-shared.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/analytics-library/shared/analytics-shared.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/analytics-library/shared/analytics-shared.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/analytics-library/tracker/analytics-tracker.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/analytics-library/tracker/analytics-tracker.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/analytics-library/tracker/analytics-tracker.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/annotations/libannotations.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/annotations/libannotations.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/annotations/libannotations.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/apkanalyzer-classpath.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/apkanalyzer-classpath.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/apkanalyzer-classpath.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/apkparser/analyzer/analyzer.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/apkparser/analyzer/analyzer.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/apkparser/analyzer/analyzer.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/apkparser/binary-resources.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/apkparser/binary-resources.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/apkparser/binary-resources.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/apkparser/cli/analyzer-cli.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/apkparser/cli/analyzer-cli.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/apkparser/cli/analyzer-cli.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/avdmanager-classpath.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/avdmanager-classpath.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/avdmanager-classpath.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/build-system/aapt2-proto/libaapt2-proto.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/aapt2-proto/libaapt2-proto.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/aapt2-proto/libaapt2-proto.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/build-system/aaptcompiler/libaaptcompiler.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/aaptcompiler/libaaptcompiler.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/aaptcompiler/libaaptcompiler.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/build-system/builder-model/libbuilder-model.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/builder-model/libbuilder-model.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/builder-model/libbuilder-model.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/build-system/builder-test-api/builder-test-api.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/builder-test-api/builder-test-api.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/builder-test-api/builder-test-api.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/build-system/manifest-merger.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/manifest-merger.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/manifest-merger.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/common/common.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/common/common.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/common/common.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/ddmlib/ddmlib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/ddmlib/ddmlib.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/ddmlib/ddmlib.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/device_validator/dvlib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/device_validator/dvlib.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/device_validator/dvlib.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/external/archive-patcher/explainer.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/archive-patcher/explainer.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/archive-patcher/generator.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/archive-patcher/generator.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/archive-patcher/shared.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/archive-patcher/shared.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/android/tools/build/aapt2-proto/0.4.0/aapt2-proto-0.4.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/android/tools/build/aapt2-proto/0.4.0/aapt2-proto-0.4.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/beust/jcommander/1.64/jcommander-1.64.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/beust/jcommander/1.64/jcommander-1.64.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/errorprone/error_prone_annotations/2.3.2/error_prone_annotations-2.3.2.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/errorprone/error_prone_annotations/2.3.2/error_prone_annotations-2.3.2.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/guava/guava/28.1-jre/guava-28.1-jre.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/guava/guava/28.1-jre/guava-28.1-jre.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/sun/istack/istack-commons-runtime/3.0.7/istack-commons-runtime-3.0.7.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/sun/istack/istack-commons-runtime/3.0.7/istack-commons-runtime-3.0.7.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/commons-codec/commons-codec/1.10/commons-codec-1.10.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/commons-codec/commons-codec/1.10/commons-codec-1.10.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/commons-logging/commons-logging/1.2/commons-logging-1.2.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/commons-logging/commons-logging/1.2/commons-logging-1.2.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/javax/inject/javax.inject/1/javax.inject-1.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/javax/inject/javax.inject/1/javax.inject-1.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/kotlin-plugin-ij/Kotlin/kotlinc/lib/kotlin-stdlib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/kotlin-plugin-ij/Kotlin/kotlinc/lib/kotlin-stdlib.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/lint-psi/intellij-core/intellij-core-all.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/lint-psi/intellij-core/intellij-core-all.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/external/lint-psi/intellij-core/intellij-core-all.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/external/lint-psi/kotlin-compiler/kotlin-compiler-all.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/lint-psi/kotlin-compiler/kotlin-compiler-all.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/external/lint-psi/kotlin-compiler/kotlin-compiler-all.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/external/lint-psi/uast/uast-all.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/lint-psi/uast/uast-all.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/external/lint-psi/uast/uast-all.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/external/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/apache/commons/commons-compress/1.12/commons-compress-1.12.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/apache/commons/commons-compress/1.12/commons-compress-1.12.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-1.56.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-1.56.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/checkerframework/checker-qual/2.8.1/checker-qual-2.8.1.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/checkerframework/checker-qual/2.8.1/checker-qual-2.8.1.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/annotations/13.0/annotations-13.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/annotations/13.0/annotations-13.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-reflect/1.3.72/kotlin-reflect-1.3.72.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-reflect/1.3.72/kotlin-reflect-1.3.72.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib/1.3.72/kotlin-stdlib-1.3.72.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib/1.3.72/kotlin-stdlib-1.3.72.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.72/kotlin-stdlib-common-1.3.72.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.72/kotlin-stdlib-common-1.3.72.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.72/kotlin-stdlib-jdk7-1.3.72.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.72/kotlin-stdlib-jdk7-1.3.72.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.72/kotlin-stdlib-jdk8-1.3.72.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.72/kotlin-stdlib-jdk8-1.3.72.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/ow2/asm/asm/7.0/asm-7.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/ow2/asm/asm/7.0/asm-7.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/smali/baksmali/2.2.4/baksmali-2.2.4.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/smali/baksmali/2.2.4/baksmali-2.2.4.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/smali/dexlib2/2.2.4/dexlib2-2.2.4.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/smali/dexlib2/2.2.4/dexlib2-2.2.4.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/smali/util/2.2.4/util-2.2.4.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/smali/util/2.2.4/util-2.2.4.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/layoutlib-api/layoutlib-api.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/layoutlib-api/layoutlib-api.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/layoutlib-api/layoutlib-api.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/lint/cli/libcli.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/lint/cli/libcli.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/lint/cli/libcli.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/lint/lint-api.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/lint/lint-api.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/lint/lint-api.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/lint/lint-checks.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/lint/lint-checks.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/lint/lint-checks.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/lint-classpath.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/lint-classpath.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/lint-classpath.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/screenshot2-classpath.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/screenshot2-classpath.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/screenshot2-classpath.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/sdkmanager-classpath.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/sdkmanager-classpath.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/sdkmanager-classpath.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/misc/screenshot2/libscreenshot2lib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/misc/screenshot2/libscreenshot2lib.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/misc/screenshot2/libscreenshot2lib.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/lib/repository/repository.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/repository/repository.jar'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/lib/repository/repository.jar': Permission denied
'/opt/android-sdk/cmdline-tools/tools/source.properties' -> '/sdk/android-sdk/cmdline-tools/tools/source.properties'
cp: cannot create regular file '/sdk/android-sdk/cmdline-tools/tools/source.properties': Permission denied

It appears that they are all failing and not just one of them.

As far as my OS, i'm using macOS Catalina image

myost2921 commented 4 years ago

I tried this container from my Windows 10 PC and it appears to work but the container immediately exits after the copy is done. image

'/opt/android-sdk/cmdline-tools/tools/NOTICE.txt' -> '/sdk/android-sdk/cmdline-tools/tools/NOTICE.txt'
'/opt/android-sdk/cmdline-tools/tools/bin/apkanalyzer' -> '/sdk/android-sdk/cmdline-tools/tools/bin/apkanalyzer'
'/opt/android-sdk/cmdline-tools/tools/bin/avdmanager' -> '/sdk/android-sdk/cmdline-tools/tools/bin/avdmanager'
'/opt/android-sdk/cmdline-tools/tools/bin/lint' -> '/sdk/android-sdk/cmdline-tools/tools/bin/lint'
'/opt/android-sdk/cmdline-tools/tools/bin/screenshot2' -> '/sdk/android-sdk/cmdline-tools/tools/bin/screenshot2'
'/opt/android-sdk/cmdline-tools/tools/bin/sdkmanager' -> '/sdk/android-sdk/cmdline-tools/tools/bin/sdkmanager'
'/opt/android-sdk/cmdline-tools/tools/lib/README' -> '/sdk/android-sdk/cmdline-tools/tools/lib/README'
'/opt/android-sdk/cmdline-tools/tools/lib/analytics-library/protos/src/main/proto/libproto.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/analytics-library/protos/src/main/proto/libproto.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/analytics-library/shared/analytics-shared.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/analytics-library/shared/analytics-shared.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/analytics-library/tracker/analytics-tracker.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/analytics-library/tracker/analytics-tracker.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/annotations/libannotations.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/annotations/libannotations.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/apkanalyzer-classpath.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/apkanalyzer-classpath.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/apkparser/analyzer/analyzer.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/apkparser/analyzer/analyzer.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/apkparser/binary-resources.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/apkparser/binary-resources.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/apkparser/cli/analyzer-cli.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/apkparser/cli/analyzer-cli.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/avdmanager-classpath.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/avdmanager-classpath.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/build-system/aapt2-proto/libaapt2-proto.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/aapt2-proto/libaapt2-proto.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/build-system/aaptcompiler/libaaptcompiler.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/aaptcompiler/libaaptcompiler.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/build-system/builder-model/libbuilder-model.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/builder-model/libbuilder-model.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/build-system/builder-test-api/builder-test-api.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/builder-test-api/builder-test-api.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/build-system/manifest-merger.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/build-system/manifest-merger.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/common/common.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/common/common.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/ddmlib/ddmlib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/ddmlib/ddmlib.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/device_validator/dvlib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/device_validator/dvlib.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/archive-patcher/explainer.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/archive-patcher/explainer.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/archive-patcher/generator.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/archive-patcher/generator.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/archive-patcher/shared.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/archive-patcher/shared.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/android/tools/build/aapt2-proto/0.4.0/aapt2-proto-0.4.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/android/tools/build/aapt2-proto/0.4.0/aapt2-proto-0.4.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/beust/jcommander/1.64/jcommander-1.64.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/beust/jcommander/1.64/jcommander-1.64.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/errorprone/error_prone_annotations/2.3.2/error_prone_annotations-2.3.2.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/errorprone/error_prone_annotations/2.3.2/error_prone_annotations-2.3.2.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/guava/guava/28.1-jre/guava-28.1-jre.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/guava/guava/28.1-jre/guava-28.1-jre.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/google/protobuf/protobuf-java/3.10.0/protobuf-java-3.10.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/sun/istack/istack-commons-runtime/3.0.7/istack-commons-runtime-3.0.7.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/sun/istack/istack-commons-runtime/3.0.7/istack-commons-runtime-3.0.7.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/com/sun/xml/fastinfoset/FastInfoset/1.2.15/FastInfoset-1.2.15.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/commons-codec/commons-codec/1.10/commons-codec-1.10.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/commons-codec/commons-codec/1.10/commons-codec-1.10.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/commons-logging/commons-logging/1.2/commons-logging-1.2.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/commons-logging/commons-logging/1.2/commons-logging-1.2.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/javax/inject/javax.inject/1/javax.inject-1.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/javax/inject/javax.inject/1/javax.inject-1.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/kotlin-plugin-ij/Kotlin/kotlinc/lib/kotlin-stdlib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/kotlin-plugin-ij/Kotlin/kotlinc/lib/kotlin-stdlib.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/lint-psi/intellij-core/intellij-core-all.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/lint-psi/intellij-core/intellij-core-all.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/lint-psi/kotlin-compiler/kotlin-compiler-all.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/lint-psi/kotlin-compiler/kotlin-compiler-all.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/lint-psi/uast/uast-all.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/lint-psi/uast/uast-all.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/net/sf/jopt-simple/jopt-simple/4.9/jopt-simple-4.9.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/apache/commons/commons-compress/1.12/commons-compress-1.12.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/apache/commons/commons-compress/1.12/commons-compress-1.12.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-1.56.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/bouncycastle/bcpkix-jdk15on/1.56/bcpkix-jdk15on-1.56.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/bouncycastle/bcprov-jdk15on/1.56/bcprov-jdk15on-1.56.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/checkerframework/checker-qual/2.8.1/checker-qual-2.8.1.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/checkerframework/checker-qual/2.8.1/checker-qual-2.8.1.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/glassfish/jaxb/jaxb-runtime/2.3.1/jaxb-runtime-2.3.1.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/glassfish/jaxb/txw2/2.3.1/txw2-2.3.1.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/annotations/13.0/annotations-13.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/annotations/13.0/annotations-13.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-reflect/1.3.72/kotlin-reflect-1.3.72.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-reflect/1.3.72/kotlin-reflect-1.3.72.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib/1.3.72/kotlin-stdlib-1.3.72.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib/1.3.72/kotlin-stdlib-1.3.72.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.72/kotlin-stdlib-common-1.3.72.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.72/kotlin-stdlib-common-1.3.72.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.72/kotlin-stdlib-jdk7-1.3.72.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.72/kotlin-stdlib-jdk7-1.3.72.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.72/kotlin-stdlib-jdk8-1.3.72.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.72/kotlin-stdlib-jdk8-1.3.72.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/ow2/asm/asm/7.0/asm-7.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/ow2/asm/asm/7.0/asm-7.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/ow2/asm/asm-analysis/7.0/asm-analysis-7.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/ow2/asm/asm-tree/7.0/asm-tree-7.0.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/smali/baksmali/2.2.4/baksmali-2.2.4.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/smali/baksmali/2.2.4/baksmali-2.2.4.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/smali/dexlib2/2.2.4/dexlib2-2.2.4.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/smali/dexlib2/2.2.4/dexlib2-2.2.4.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/external/org/smali/util/2.2.4/util-2.2.4.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/external/org/smali/util/2.2.4/util-2.2.4.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/layoutlib-api/layoutlib-api.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/layoutlib-api/layoutlib-api.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/lint/cli/libcli.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/lint/cli/libcli.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/lint/lint-api.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/lint/lint-api.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/lint/lint-checks.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/lint/lint-checks.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/lint-classpath.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/lint-classpath.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/screenshot2-classpath.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/screenshot2-classpath.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/sdkmanager-classpath.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/sdkmanager-classpath.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/misc/screenshot2/libscreenshot2lib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/misc/screenshot2/libscreenshot2lib.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/repository/repository.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/repository/repository.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/sdk-common/sdk-common.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/sdk-common/sdk-common.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/sdklib/libavdmanager_lib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/sdklib/libavdmanager_lib.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/sdklib/libsdkmanager_lib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/sdklib/libsdkmanager_lib.jar'
'/opt/android-sdk/cmdline-tools/tools/lib/sdklib/sdklib.jar' -> '/sdk/android-sdk/cmdline-tools/tools/lib/sdklib/sdklib.jar'
'/opt/android-sdk/cmdline-tools/tools/source.properties' -> '/sdk/android-sdk/cmdline-tools/tools/source.properties'
'/opt/android-sdk/licenses/android-googletv-license' -> '/sdk/android-sdk/licenses/android-googletv-license'
'/opt/android-sdk/licenses/android-sdk-license' -> '/sdk/android-sdk/licenses/android-sdk-license'
'/opt/android-sdk/licenses/android-sdk-preview-license' -> '/sdk/android-sdk/licenses/android-sdk-preview-license'
'/opt/android-sdk/licenses/google-gdk-license' -> '/sdk/android-sdk/licenses/google-gdk-license'
'/opt/android-sdk/licenses/intel-android-extra-license' -> '/sdk/android-sdk/licenses/intel-android-extra-license'
thyrlian commented 4 years ago

Got it @myost2921. Thanks for the logs.

but the container immediately exits after the copy is done.

This is intended behaviour, it's just backing up the SDK directory to your local machine, not supposed to launch a long-running container, that's why it exists after done.

It seems like the cp command is not the cause. But probably you don't have the right/write permission in your host directory where you mount it to the container. In this case, it's $(pwd)/sdk. Please check your host machine and docker settings.

thyrlian commented 4 years ago

You can try:

myost2921 commented 4 years ago

@thyrlian Thank you for your patience in helping with this.

So I've got the right permissions on the sdk folder image

And I'm running on macOS so I don't have the ability to use the commands to run as "non-root". However, running this command as "sudo" doesn't even help this.

And I've deleted all containers from docker so nothing running: image

thyrlian commented 4 years ago

@myost2921 interesting...

I would say if it works fine (with the same command) on my mac and your windows too, but only gets problematic on your mac. The only thing I could guess is the Docker configuration or directory permission.

Yes, you've got drwxr-xr-x for that directory, but the write action is actually done by docker engine, so we need to find the difference.