https://github.com/connectbot/connectbot
docker-compose up --build
docker exec -it connectbot-apk-builder bash find /app -name "*.apk"
Hoặc console 2 chạy: docker cp connectbot-apk-builder:/app/app/build/outputs/apk/google/debug/app-google-debug.apk ~/Downloads/
FROM eclipse-temurin:17-jdk
# Cài git và công cụ hỗ trợ
RUN apt-get update && apt-get install -y git unzip curl
# Tạo thư mục SDK
ENV ANDROID_SDK_ROOT=/sdk
RUN mkdir -p $ANDROID_SDK_ROOT/cmdline-tools
# Tải và cài Android Command Line Tools
RUN curl -o sdk-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip && \
unzip sdk-tools.zip -d $ANDROID_SDK_ROOT/cmdline-tools && \
rm sdk-tools.zip && \
mv $ANDROID_SDK_ROOT/cmdline-tools/cmdline-tools $ANDROID_SDK_ROOT/cmdline-tools/latest
# Thêm sdkmanager vào PATH
ENV PATH=$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$ANDROID_SDK_ROOT/platform-tools:$PATH
# Cài SDK và build tools
RUN yes | sdkmanager --licenses && \
sdkmanager "platform-tools" "platforms;android-33" "build-tools;33.0.2"
# ✅ Tạo volume để cache Gradle và Android SDK giữa các lần build
VOLUME ["/root/.gradle", "/root/.android"]
# Clone mã nguồn ConnectBot
RUN git clone https://github.com/connectbot/connectbot.git /app
# Build APK
WORKDIR /app
#RUN ./gradlew assembleDebug
#CMD ["./gradlew", "assembleDebug"]
CMD ./gradlew assembleDebug && tail -f /dev/null
Docker-composer.yml
version: '3'
services:
connectbot-builder:
build: .
container_name: connectbot-apk-builder
volumes:
- gradle-cache:/root/.gradle
- android-cache:/root/.android
volumes:
gradle-cache:
android-cache: