Add Dockerfile for Android example.
This commit is contained in:
parent
d4bf6f9239
commit
68d6c43f02
26
example/android/Dockerfile
Normal file
26
example/android/Dockerfile
Normal file
@ -0,0 +1,26 @@
|
||||
FROM --platform=linux/amd64 ubuntu:22.04 as build
|
||||
|
||||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -yq default-jdk g++ git gperf make perl php-cli unzip wget && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /home
|
||||
|
||||
ARG ANDROID_NDK_VERSION=23.2.8568313
|
||||
COPY ./check-environment.sh ./fetch-sdk.sh ./
|
||||
RUN ./fetch-sdk.sh SDK "$ANDROID_NDK_VERSION"
|
||||
|
||||
ARG OPENSSL_VERSION=OpenSSL_1_1_1q
|
||||
COPY ./build-openssl.sh ./
|
||||
RUN ./build-openssl.sh SDK "$ANDROID_NDK_VERSION" openssl "$OPENSSL_VERSION"
|
||||
|
||||
ADD "https://api.github.com/repos/tdlib/td/git/refs/heads/master" version.json
|
||||
ARG COMMIT_HASH=master
|
||||
RUN git clone https://github.com/tdlib/td.git && cd td && git checkout "$COMMIT_HASH"
|
||||
RUN cd td && git merge-base --is-ancestor bcd89728c3b93b67448b93b4863dc5bd4e122a4c "$COMMIT_HASH"
|
||||
|
||||
ARG ANDROID_STL=c++_static
|
||||
RUN td/example/android/build-tdlib.sh SDK "$ANDROID_NDK_VERSION" openssl "$ANDROID_STL" && rm -rf td/example/android/build-*
|
||||
|
||||
|
||||
FROM scratch
|
||||
|
||||
COPY --from=build /home/td/example/android/tdlib/tdlib* /
|
@ -17,6 +17,8 @@ If you already have prebuilt OpenSSL, you can skip the third step and specify pa
|
||||
|
||||
If you want to update TDLib to a newer version, you need to run only the script `./build-tdlib.sh`.
|
||||
|
||||
You can specify different OpenSSL version as the fourth parameter to the script `./build-openssl.sh`. By default OpenSSL 1.1.1 is used because of much smaller binary footprint than newer OpenSSL versions.
|
||||
You can specify different OpenSSL version as the fourth parameter to the script `./build-openssl.sh`. By default OpenSSL 1.1.1 is used because of much smaller binary footprint and better performance than newer OpenSSL versions.
|
||||
|
||||
You can build TDLib against shared standard C++ library by specifying "c++_shared" as the fourth parameter to the script `./build-tdlib.sh`. This can reduce total application size if you have a lot of other C++ code and want it to use the same shared library.
|
||||
|
||||
Alternatively, you can use Docker to build TDLib for Android. Use `docker build --output tdlib .` to build the latest TDLib commit from Github, or `docker build --build-arg COMMIT_HASH=<commit-hash> --output tdlib .` to build specific commit. The output archives will be placed in the tdlib directory as specified.
|
||||
|
Loading…
Reference in New Issue
Block a user