forked from libgit2/libgit2sharp.nativebinaries
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.android
More file actions
89 lines (60 loc) · 2.71 KB
/
Dockerfile.android
File metadata and controls
89 lines (60 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
FROM bording/crossbuild
ARG ARCH='amd64'
ENV CROSS_TRIPLE=${ARCH}
RUN apt update && apt -y install pkg-config cmake
COPY ./kitware-archive.sh ./kitware-archive.sh
RUN sh ./kitware-archive.sh
RUN apt-get install cmake
# 安装依赖
RUN apt-get update && apt-get install -y \
software-properties-common \
lsb-release \
gnupg2 ca-certificates gpg wget kitware-archive-keyring \
&& rm -rf /var/lib/apt/lists/*
# 添加CMake官方的GPG密钥
RUN apt-key adv --fetch-keys https://apt.kitware.com/keys/kitware-archive-latest.asc
# 添加CMake的官方APT仓库
RUN echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
RUN echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' | sudo tee /etc/apt/sources.list.d/kitware.list >/dev/null
# RUN apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb-release -cs) main"
# 再次更新包列表并安装CMake
RUN apt-get update && apt-get install -y cmake
RUN wget https://cmake.org/files/v3.26/cmake-3.26.3.tar.gz
RUN tar -xvzf cmake-3.26.3.tar.gz
RUN cd cmake-3.26.3
RUN ls
RUN configure
RUN make
RUN sudo make install
RUN sudo update-alternatives --install /usr/bin/cmake cmake /usr/local/bin/cmake 1 --force
ENV ANDROID_SDK_ROOT /usr/local/android-sdk \
ANDROID_HOME /usr/local/android-sdk \
ANDROID_SDK_TOOLS /usr/local/android-sdk/tools \
ANDROID_SDK_PLATFORM_TOOLS /usr/local/android-sdk/platform-tools
RUN mkdir -p /usr/local/android-sdk/tools/bin/sdkmanager && \
apt-get update && \
apt-get install -y curl && \
curl -o android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip && \
unzip -q android-sdk.zip -d /usr/local/android-sdk && \
rm android-sdk.zip && \
apt-get clean && \
chmod +x /usr/local/android-sdk/tools/bin/sdkmanager && \
yes | /usr/local/android-sdk/tools/bin/sdkmanager --licenses && \
/usr/local/android-sdk/tools/bin/sdkmanager "platform-tools" "platforms;android-29"
ENV PATH $PATH:$ANDROID_SDK_TOOLS:$ANDROID_SDK_PLATFORM_TOOLS
# 安装NDK
RUN sdkmanager "ndk-bundle"
# 设置NDK版本环境变量
ENV ANDROID_NDK_VERSION r26c
# 下载并安装NDK
RUN mkdir -p /opt/android/ndk \
&& wget https://dl.google.com/android/repository/android-ndk-$ANDROID_NDK_VERSION-linux.zip -O ndk.zip \
&& unzip ndk.zip -d /opt/android/ndk \
&& rm ndk.zip \
&& apt-get clean \
&& sync
# 设置NDK环境变量
ENV ANDROID_NDK_HOME /opt/android/ndk/android-ndk-$ANDROID_NDK_VERSION
WORKDIR /nativebinaries
COPY . /nativebinaries/
CMD ["/bin/bash", "-c", "./build.libgit2.sh"]