diff options
| author | Albin <albin@mullvad.net> | 2022-12-12 16:18:55 +0100 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2022-12-12 16:18:55 +0100 |
| commit | f33bcb2c74a8b805286c8effa432521d8f16b7ba (patch) | |
| tree | 646ea4b906bef18fc9e30db467bbc6f6015fa04e /android/docker | |
| parent | 41d084b2d94ad68390b60a5f200f001500c352d4 (diff) | |
| parent | 42852a1066793fc5b2d719d0bdd64c1d9b277766 (diff) | |
| download | mullvadvpn-f33bcb2c74a8b805286c8effa432521d8f16b7ba.tar.xz mullvadvpn-f33bcb2c74a8b805286c8effa432521d8f16b7ba.zip | |
Merge branch 'update-android-container-build-instructions'
Diffstat (limited to 'android/docker')
| -rw-r--r-- | android/docker/README.md | 96 | ||||
| -rw-r--r-- | android/docker/adopt-openjdk-apt-key.pgp | 53 |
2 files changed, 0 insertions, 149 deletions
diff --git a/android/docker/README.md b/android/docker/README.md deleted file mode 100644 index 4594f65466..0000000000 --- a/android/docker/README.md +++ /dev/null @@ -1,96 +0,0 @@ -# Docker image to build the Android - -This folder contains the necessary files to create a Docker image that can be used to build the -Android app without having to configure the local environment first. The image contains the -Android SDK, the Android NDK, the patched Go compiler, the Rust compiler and the necessary -configuration to allow the app to build. - -To build the image, the following command can be used while inside this directory: - -``` -docker build -t mullvad/mullvadvpn-app-android . -``` - -After the image has been built, it can be used to build the Android app. Given that the source code -[repository](https://github.com/mullvad/mullvadvpn-app) was checkout out on -`/home/user/mullvadvpn-app`, the following command will build the APK there: - -``` -docker run \ - --rm \ - -it \ - --name mullvad-android-build \ - -v /home/user/mullvadvpn-app:/project \ - -w /project \ - mullvad/mullvadvpn-app-android -``` - -The container can be configured to build the native libraries for a subset of the supported -architectures by setting the `ARCHITECTURES` environment variable. The supported architecuters are: - -- 64-bit ARMv8: `aarch64` -- 32-bit ARMv7: `armv7` -- 64-bit x86-64: `x86_64` -- 32-bit x86: `i686` - -The example below builds only for 64-bit ARM and x86-64: - -``` -docker run \ - --rm \ - -it \ - -e ARCHITECTURES="aarch64 x86_64" \ - --name mullvad-android-build \ - -v /home/user/mullvadvpn-app:/project \ - -w /project \ - mullvad/mullvadvpn-app-android -``` - -## Speeding up the build with caches - -To speed up the build, some cache files for Cargo and Gradle can be reused between builds. There are -two options to configure reusing those files: creating directories for them in the repository or -creating separate volumes. - -### Using extra directories inside the repository - -Two directories can be created inside the repository, `.gradle-home` and `.cargo-home`. When -building, they can be configured to be used by the build using environment variables -(`GRADLE_USER_HOME` and `CARGO_HOME`). The following command shows how to run the build container -using the extra directories: - -``` -docker run \ - --rm \ - -it \ - --name mullvad-android-build \ - -v /home/user/mullvadvpn-app:/project \ - -e GRADLE_USER_HOME=/project/.gradle-home \ - -e CARGO_HOME=/project/.cargo-home \ - -w /project \ - mullvad/mullvadvpn-app-android -``` - -### Using Docker volumes - -Some extra volumes can be used to cache Cargo and Gradle data. The following commands set up those -volumes and runs the build container using them: - -``` -# Run these commands once -docker volume create cargo-git -docker volume create cargo-registry -docker volume create gradle-cache - -# Run this command every time to build -docker run \ - --rm \ - -it \ - --name mullvad-android-build \ - -v /home/user/mullvadvpn-app:/project \ - -v cargo-git:/root/.cargo/git \ - -v cargo-registry:/root/.cargo/registry \ - -v gradle-cache:/root/.gradle \ - -w /project \ - mullvad/mullvadvpn-app-android -``` diff --git a/android/docker/adopt-openjdk-apt-key.pgp b/android/docker/adopt-openjdk-apt-key.pgp deleted file mode 100644 index 7ae2ce4a22..0000000000 --- a/android/docker/adopt-openjdk-apt-key.pgp +++ /dev/null @@ -1,53 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1 - -mQINBFzII+8BEADS8rE0HAdET6h2LjpRbN22+JRzFzD1LvqWFOIozLZ5hA8tAIM4 -dNhTbzMt/evgVi+Qvo+VpwINPYNPVfavWXK3PsiI6tmgECq62ODuyzS3+TBOVZ6G -RIGVoIWCqvW8gz3CBl5MzUp0iw4uv4cZYI1XJKz9CmOUzoxiCTchs2dFW9UI//AZ -A6mFVRNG0siIjEOhUON1GygHiSlKh9L5UGZfwnXwBt6B9bOdzstBoQqAIIqoRIFw -3Qi/N1VFif00h9nkvanGmhLzvqoQdPrfuw9Z0c+rqUpfgx9foUzs3BNQL2RqLBd3 -VcF2mXKdiIrsCJw2n65ORzxGvIcZ9cVt+G4DWThhVsGo963WAO5XyybbdtrV0uoz -tVL2z9WahUdwoS2Y92R4r2ciose1GbaonrDHb9LXCic1thRt2I+dQ2PA8h8boSAb -4rfsTA9MbEe8hp7wxDOtE5OPXu3GF0FL8tMxf+/8ZhIHzJaAB5+QbnBJCy44XfMK -Lh/k0dfz+NEx9pg1yYIJ1hsysNsb6r0+UuEU/k2Qy/cOLXXZYKdSHtKNxTvf9PKy -HIX1kT6muUGj97S+7T0zD7Tq6WEqwZAAIlWUO5H0KmiPotugF/ahnWEYxRVCQuBf -Iw1RZVLHVsptdcd/CF/fmlR+k3KO8h6F+At1N17ToZ0Uyq+sRz1HvVS75QARAQAB -tE1BZG9wdE9wZW5KREsgKHVzZWQgZm9yIHB1Ymxpc2hpbmcgUlBNIGFuZCBERUIg -ZmlsZXMpIDxhZG9wdG9wZW5qZGtAZ21haWwuY29tPokCOAQTAQIAIgUCXMgj7wIb -AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQisOykXSIXAOQShAAqjye6sT+ -/fTsAbkpE055kjb9GSNBLPuPG9eCnn86hl1ge9vSBHfBC/GF4e7Q9BL0QK+rfq07 -1g8UBgdg0Vwx8VZuRR5pzIdr1FWyE0JTyUcOpTsxz5KwA8SEFodN912ajAaVwDm7 -W9Z47bPNFqFjLLqTuNInRxHqQfrytCPQY73HW/bwU0xYPupyF/nQ0qxJYPH3tK1b -zBvyVIR4mq5p1275fieLdywsIREeP/gwuR//QB48L4ZOmIQ5EE/Pq/tCK02FwMqR -U61H+YAjsPaA+1OQuvzWysQhBjhd9hxqBawO/U45oVdoYa1WsX0uwKAIVe33Ib8G -41OxwLlfLWhgQKDa3USpolNf6Qtj3cHQEB61XD7v9B6XbnPV1Wf65VJzyUJdYXQl -Rzr9zH+r9S/BeB+rCR7eljafYBvIAibmSYq9Cfsji2+bUjVRXGZos4SZNNa4xs/g -52o7L5B5PSNFr0zzNDcY24Pha1a7nlYc/hWnZ0YtSQsAxaPXj9MpxKQX8q+eCakY -CYN73zGoc4ILJfYVd6jxkcoWrRrvQxp3m/IujAJMm/6ZbSeYdGENtTsQHsnEo0de -8CcSUkQg3GX9xQXlZhH8D0WWnRm4n/KJ+pi82wiU9z99nTSq75TrvBmKCT+J8V1B -uVCzNXsk7zsTOwBEKU/4YSEZC+YeW2iyp765Ag0EXMgj7wEQAN304lBCDHd4oIsl -s9+B+N9ET5+/W2rUDt9tljB/uzJiifcVyDyFiMn5KKpWO/nTlPU3PRluupR+TdgX -kFM6Ogyqce7SPMHL5L3r1NzS565SISUOljuBFftlva/LRAsCcSBjvR0D2ycwejW1 -Ctv0lPAf8K0HvA8OlKFTUXJUkFG/43kMZvv4f3URfMZ72nhLyz+rApWX3HuEZvFl -BhdZPFXf/SHuKSSeVFIoNbMVwnccDFpC9eGdD/GD+0CEhxPzFGy27zjbehIQOHqq -zJCAELdlFIs4t3kRg5TVwe7lod+pCZNN+VKynx4cKGJP891UR8UO67YRlq/FCB6+ -npVnyHKF9bBM8ZGwG/UnIpFyL0rr4PPoQ9R5RoMz/e7TCRCW0fMPK3USoKsICKgr -CCtQIuTKO6oIRFe868uzt4KCkkbD/S/fqFz5ZA65fFnm776h9cFBxXFPWiCWp57S -Ji91z7hG0Hkut0CPM6EGSilq9am0LuzJv7RlOYv/pOQMoqGUUtiFWf3gYn8IaFgr -9LVeC5/djZj4I/BSLRJaHfhaHoNScL63tighnUbj6uDeCjpe6C2rwSPWulLAIqF6 -r2ZByLi2hBkyrJnMC2Ew4PH9AMPkyZMDFJ3qSNZiUgwIny+4jYZxfxdTspvZa7dT -kLk0Uw1McyV8SkSqHaxafulwEbHnABEBAAGJAh8EGAECAAkFAlzII+8CGwwACgkQ -isOykXSIXANq2hAAkyeNuWadGqieKA/rxX53hPvxAjYmCt6uyXJiq55/9A8FHCf6 -OZE2rF9z0zCy5F6O8S5mieK0c+7DrU06YHrippya3WMldLSn5X6Zh13vNJE8PhG0 -Aw6GQSKHz9C2jD3ScZsbUsEiXEM8WLQVC0VpcNXvNgGBY4eK1dwi4jI+YnqLS1Pm -xsVlh1oMAeqDRSgz1qznj+2ziKlQvBTSfTURchWsuQK9SBxpnUUmmwzPI9aZX07i -WVdbkqVqhB3oH50pP4aclYtxjXU778Wpe7stbGFnGHFm6rClC6keUO6rohM1eU1d -yMD4XQDWLIbpCSVNyd+uJTyqIwJcAgGnZ3g4HnVmbY2iTrWIgaAwFEoGU7B+iEVI -1ob5c9y085e8UKB7QXv1lb/XXCkE2EWPR2tDbU0Fsip20jNULSq8cQbrSSnDt2lw -jLyNTiMDUHhVHnuMNktJ2sOwrNAwATlZHftDSxEoj3Y0XAsdVEbMyRvcxdpb8QDR -4pezrAGj+TlzzqnItDmHhElSxyCf5wbTy5vBEfFNiBRtz0WCmnmnsr61GWH7xtEi -TDmj/BvGxRwE2a0IEwl5ASTIGzxxHKQm7VIOxd9fwYBkuCrNtylc4mw+g8w0lhpt -HCm81Da4TubPdAgobrQGlnMVDmgAcN20+RakdKamaki/c5u+pAvEkYNLvlM= -=SQlh ------END PGP PUBLIC KEY BLOCK----- - |
