diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..a66c276 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,32 @@ + +# Dockerfile for RTranslator Codespace +FROM mcr.microsoft.com/devcontainers/base:ubuntu-22.04 + +# Install dependencies +RUN apt-get update && \ + apt-get install -y wget unzip openjdk-17-jdk git && \ + rm -rf /var/lib/apt/lists/* + +# Set JAVA_HOME +ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 +ENV PATH="$JAVA_HOME/bin:$PATH" + +# Install Android SDK Command-line tools +ENV ANDROID_SDK_ROOT=/opt/android-sdk +RUN mkdir -p $ANDROID_SDK_ROOT/cmdline-tools && \ + wget -q https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip -O /tmp/cmdline-tools.zip && \ + unzip -q /tmp/cmdline-tools.zip -d $ANDROID_SDK_ROOT/cmdline-tools && \ + mv $ANDROID_SDK_ROOT/cmdline-tools/cmdline-tools $ANDROID_SDK_ROOT/cmdline-tools/latest && \ + rm /tmp/cmdline-tools.zip + +ENV PATH="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$PATH" + +FROM mcr.microsoft.com/devcontainers/base:ubuntu + +RUN apt-get update && apt-get install -y wget unzip + +RUN mkdir -p /home/vscode/android-sdk && cd /home/vscode/android-sdk && \ + wget https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip && \ + unzip commandlinetools-linux-11076708_latest.zip -d cmdline-tools && \ + echo 'export ANDROID_HOME=/home/vscode/android-sdk' >> /home/vscode/.bashrc && \ + echo 'export PATH=$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools:$PATH' >> /home/vscode/.bashrc diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..f406ecd --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,17 @@ +{ + "name": "RTranslator Android DevContainer", + "build": { + "dockerfile": "Dockerfile" + }, + "settings": { + "java.configuration.runtimes": [ + { + "name": "JavaSE-17", + "path": "/usr/lib/jvm/java-17-openjdk-amd64", + "default": true + } + ] + }, + "postCreateCommand": "bash .devcontainer/postCreateSetup.sh", + "remoteUser": "codespace" +} diff --git a/.devcontainer/postCreateSetup.sh b/.devcontainer/postCreateSetup.sh new file mode 100755 index 0000000..ab71678 --- /dev/null +++ b/.devcontainer/postCreateSetup.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -e + +# Set Android SDK root +export ANDROID_SDK_ROOT=/opt/android-sdk +export PATH="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$PATH" + +# Install required SDK packages +sdkmanager --sdk_root=$ANDROID_SDK_ROOT --install "platform-tools" "platforms;android-33" "build-tools;33.0.2" "ndk;25.1.8937393" + +# Accept all licenses +yes | sdkmanager --licenses --sdk_root=$ANDROID_SDK_ROOT + +# Create local.properties for Gradle +if [ ! -f "$PWD/local.properties" ]; then + echo "sdk.dir=$ANDROID_SDK_ROOT" > "$PWD/local.properties" +fi