Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Android image based on ubuntu #224

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions android-ubuntu/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Image pubnative/android

FROM ubuntu:22.04

LABEL maintainer="Eros Garcia Ponte <[email protected]>"

WORKDIR /usr/local/

# Install Development Tools
RUN apt-get update && apt-get install -y \
software-properties-common \
build-essential \
libgl1-mesa-dev \
libglu1-mesa-dev \
libncurses5-dev \
libx11-dev \
libxrender-dev \
zlib1g-dev \
curl \
unzip \
ruby \
ruby-dev \
&& gem install bundler -v 2.3.10

# Add the Oracle JDK 17 PPA and install Oracle JDK 17
RUN add-apt-repository ppa:linuxuprising/java \
&& apt-get update \
&& echo oracle-java17-installer shared/accepted-oracle-license-v1-3 select true | debconf-set-selections \
&& apt-get install -y oracle-java17-installer \
&& apt-get install -y oracle-java17-set-default

# Java environment variables
ENV JAVA_HOME /usr/lib/jvm/java-17-oracle
ENV PATH $PATH:$JAVA_HOME/bin

# Install Android SDK
RUN mkdir -p /usr/local/android-sdk \
&& cd /usr/local/android-sdk \
&& curl -L -O https://dl.google.com/android/repository/commandlinetools-linux-8092744_latest.zip \
&& unzip commandlinetools-linux-8092744_latest.zip

RUN mv /usr/local/android-sdk/cmdline-tools /usr/local/android-sdk/initversion \
&& mkdir /usr/local/android-sdk/cmdline-tools \
&& mv /usr/local/android-sdk/initversion /usr/local/android-sdk/cmdline-tools/initversion

# Environment variables
ENV ANDROID_HOME /usr/local/android-sdk
ENV ANDROID_SDK_ROOT /usr/local/android-sdk
ENV PATH $PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin
ENV PATH $PATH:$ANDROID_SDK_ROOT/cmdline-tools/initversion/bin
ENV PATH $PATH:$ANDROID_SDK_ROOT/platform-tools

# Install Android tools
RUN yes | sdkmanager --update \
&& yes | sdkmanager "platforms;android-34" "build-tools;34.0.0" "extras;google;m2repository" "extras;android;m2repository"

# Clean up
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /usr/local/commandlinetools-linux-8092744_latest.zip

# List the contents of the work directory
RUN cd /usr/local/ && ls -la
16 changes: 16 additions & 0 deletions android-ubuntu/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
VERSION=28_20240812
DOCKER_REPO=pubnative/android
DOCKER_REPO_VERSION=$(DOCKER_REPO):$(VERSION)
DOCKER_REPO_LATEST=$(DOCKER_REPO):latest

build:
docker build -t $(DOCKER_REPO_VERSION) .
docker tag $(DOCKER_REPO_VERSION) $(DOCKER_REPO_LATEST)

publish: publish-latest publish-version

publish-latest: build
docker push $(DOCKER_REPO_LATEST)

publish-version: build
docker push $(DOCKER_REPO_VERSION)
Empty file added android-ubuntu/README.md
Empty file.
59 changes: 30 additions & 29 deletions android/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,48 +17,49 @@ RUN yum -y update \
ncurses-devel.i686 \
libX11-devel.i686 \
libXrender.i686 \
&& gem install bundler -v 1.7.3 \
&& gem install fastlane
&& gem install bundler -v 2.3.10

# Install Java 17 in CentOS/RHEL 7.X
# Install Java 1.11 in CentOS/RHEL 7.X
RUN cd /usr/local/ \
&& curl -s -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/java/17/archive/jdk-17.0.9_linux-x64_bin.rpm > jdk-17.0.9_linux-x64_bin.rpm \
&& yum -y localinstall jdk-17.0.9_linux-x64_bin.rpm
&& curl -s -j -k -L -H "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/11.0.14%2B8/7e5bbbfffe8b45e59d52a96aacab2f04/jdk-11.0.14_linux-x64_bin.rpm > jdk-11.0.14_linux-x64_bin.rpm \
&& yum -y localinstall jdk-11.0.14_linux-x64_bin.rpm

# Java environment variables
ENV JAVA_VERSION 17
# ENV JAVA_HOME /usr/java/jdk1.8.0_131
ENV JAVA_HOME /usr/lib/jvm/jdk-17-oracle-aarch64
# ENV JRE_HOME /usr/java/jdk1.8.0_131/jre
# ENV PATH $PATH:/usr/java/jdk1.8.0_131/bin:/usr/java/jdk1.8.0_131/jre/bin
ENV PATH $PATH:/usr/lib/jvm/jdk-17-oracle-aarch64/bin
ENV JAVA_VERSION 1.11
ENV JAVA_HOME /usr/java/jdk-11.0.14
ENV JRE_HOME /usr/java/jdk-11.0.14/jre
ENV PATH $PATH:/usr/java/jdk-11.0.14/bin:/usr/java/jdk-11.0.14/jre/bin

# Install Android SDK
RUN mkdir -p /usr/local/android-sdk \
&& cd /usr/local/android-sdk \
&& curl -L -O https://dl.google.com/android/repository/commandlinetools-linux-10406996_latest.zip \
&& unzip commandlinetools-linux-10406996_latest.zip
&& curl -L -O https://dl.google.com/android/repository/commandlinetools-linux-8092744_latest.zip \
&& unzip commandlinetools-linux-8092744_latest.zip

# # Install Android tools
# RUN /usr/local/android-sdk/tools/bin/sdkmanager --update <<< 'y'
# RUN yes | /usr/local/android-sdk/tools/bin/sdkmanager "platforms;android-28" "build-tools;28.0.3" "extras;google;m2repository" "extras;android;m2repository"
# #RUN echo yes | /usr/local/android-sdk-linux/tools/android update sdk --filter android-28 --no-ui --force -a
# #RUN echo yes | /usr/local/android-sdk-linux/tools/android update sdk --filter platform-tools --no-ui --force -a
# #RUN echo yes | /usr/local/android-sdk-linux/tools/android update sdk --filter tools --no-ui --force -a
# #RUN echo yes | /usr/local/android-sdk-linux/tools/android update sdk --filter extra --no-ui --force -a

# Install Android tools
RUN /usr/local/android-sdk/cmdline-tools/bin/sdkmanager --update <<< 'y'
RUN yes | /usr/local/android-sdk/cmdline-tools/bin/sdkmanager "platforms;android-34" "build-tools;34.0.0" "extras;google;m2repository" "extras;android;m2repository"

RUN cd /usr/local/ && ls -la
RUN mv /usr/local/android-sdk/cmdline-tools /usr/local/android-sdk/initversion \
&& mkdir /usr/local/android-sdk/cmdline-tools \
&& mv /usr/local/android-sdk/initversion /usr/local/android-sdk/cmdline-tools/initversion

# Environment variables
ENV ANDROID_HOME /usr/local/android-sdk
ENV PATH $PATH:$ANDROID_HOME/tools
ENV PATH $PATH:$ANDROID_HOME/platform-tools
ENV ANDROID_SDK_ROOT /usr/local/android-sdk
# adding "latest" first to PATH so it will have higher priority
# after "update" we will have latest binaries under "latest" folder
ENV PATH $PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin
ENV PATH $PATH:$ANDROID_SDK_ROOT/cmdline-tools/initversion/bin
ENV PATH $PATH:$ANDROID_SDK_ROOT/platform-tools
ENV PATH $PATH:$ANT_HOME/bin

# Install Android tools
RUN sdkmanager --update <<< 'y'
RUN yes | sdkmanager "platforms;android-32" "build-tools;32.0.0" "extras;google;m2repository" "extras;android;m2repository"
#RUN echo yes | /usr/local/android-sdk-linux/tools/android update sdk --filter android-32 --no-ui --force -a
#RUN echo yes | /usr/local/android-sdk-linux/tools/android update sdk --filter platform-tools --no-ui --force -a
#RUN echo yes | /usr/local/android-sdk-linux/tools/android update sdk --filter tools --no-ui --force -a
#RUN echo yes | /usr/local/android-sdk-linux/tools/android update sdk --filter extra --no-ui --force -a

RUN cd /usr/local/ && ls -la

# Clean up
RUN yum clean all
RUN rm -rf /usr/local/commandlinetools-linux-10406996_latest.zip /usr/local/jdk-17.0.9_linux-x64_bin.rpm /var/cache/yum
RUN rm -rf /usr/local/commandlinetools-linux-8092744_latest.zip /usr/local/jdk-11.0.14_linux-x64_bin.rpm /var/cache/yum