# Version: 1.0 # Dockerfile for building libzip for android # https://github.com/dec1/libzip.git # creates docker container with all tools, libraries and sources required to build libzip for android. # Author: Declan Moran # www.silverglint.com # Usage: #--------- # download the libzip repository # > git clone https://github.com/dec1/libzip.git # > cd libzip # # build docker image "my_img_zip" from the dockerfile in "docker" dir # > docker build -t my_img_zip ./android/docker # # run docker container "my_ctr_zip" from this image, mounting the current dir. (Need to pass absolute host paths to mount volume- hence "pwd") # > docker run -v $(pwd):/home/docker-share/libzip -it --entrypoint=/bin/bash --name my_ctr_zip my_img_zip # # Now inside docker container # $ cd /home/docker-share/libzip/android # # Modify ./do.sh (on host), to match the boost and android ndk versions/paths in the "Configure here" section below # Build from running docker container. # $./do.sh # # "./build" dir contains required build, but owned by root. chown to your username/group # > sudo chown -R : ./build # > sudo chown -R : ./install # # Exit container, when build is finished. # $ exit # FROM ubuntu:18.04 ## -------------------------------------------------------------------- ## Configure here # --------------------------------------------------------------------- # --------------------------------------------------------------------- # Here you can speciofy exactly what android ndk (and sdk) version you want to use. # (2) Android SDK # https://developer.android.com/studio#downloads ARG SDK_URL_BASE=https://dl.google.com/android/repository ARG SDK_FILE=sdk-tools-linux-4333796.zip # the sdk platform to use # https://developer.android.com/guide/topics/manifest/uses-sdk-element ARG ANDROID_SDK_PLATFORM_VERS="platforms;android-28" # (3) Android NDK # https://developer.android.com/ndk/downloads ARG NDK_URL_BASE=https://dl.google.com/android/repository ARG NDK_FILE=android-ndk-r19c-linux-x86_64.zip # --------------------------------------------------------------------- ## -------------------------------------------------------------------- RUN apt-get update RUN apt-get -y dist-upgrade # for downloading archives RUN apt-get -y install wget # for unzipping downloaded android archives RUN apt-get -y install zip RUN apt-get -y install cmake RUN apt-get -y install lib32z1 # need this this to install some (32 bit) prerequisites for android builds RUN dpkg --add-architecture i386 RUN apt-get update RUN apt-get -y dist-upgrade RUN apt-get install -y libc6:i386 libncurses5:i386 libstdc++6:i386 libbz2-1.0:i386 # need c compiler to set up create boost build system (before building boost with it and android toolchain) RUN apt-get -y install build-essential RUN apt-get -y install libc6-dev-i386 RUN apt-get -y install clang RUN apt-get -y install openjdk-8-jdk #-------------------------------------- ARG ANDROID_HOME=/home/android WORKDIR ${ANDROID_HOME} # SDK # ---- # download android sdk command line tools RUN wget ${SDK_URL_BASE}/$SDK_FILE RUN unzip $SDK_FILE ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools RUN yes | sdkmanager --licenses RUN sdkmanager "platform-tools" $ANDROID_SDK_PLATFORM_VERS #RUN sdkmanager "platform-tools" "platforms;android-28" # NDK # ---- RUN wget ${NDK_URL_BASE}/$NDK_FILE RUN unzip $NDK_FILE