Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
39 changes: 20 additions & 19 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,25 @@
name: nightly-linux64

on:
push:
paths-ignore:
- "**/*.md"
- "examples/**"
pull_request:
paths-ignore:
- "**/*.md"
- "examples/**"

# #used for testing the nightly
# on:
# schedule:
# - cron: "0 6 * * *"
# workflow_dispatch:
# inputs:
# release:
# description: 'release'
# required: true
# default: 'latest'
# push:
# paths-ignore:
# - "**/*.md"
# - "examples/**"
# pull_request:
# paths-ignore:
# - "**/*.md"
# - "examples/**"

on:
schedule:
- cron: "0 6 * * *"
workflow_dispatch:
inputs:
release:
description: 'release'
required: true
default: 'latest'
env:
ccache: ccache
RELEASE: latest
Expand Down Expand Up @@ -65,4 +66,4 @@ jobs:
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: "nightly"
files: ${{ steps.createpackage.outputs.FILES_OUT }}
files: out/of_v*.{tar.gz,zip}
49 changes: 38 additions & 11 deletions .github/workflows/of.yml
Original file line number Diff line number Diff line change
Expand Up @@ -453,24 +453,51 @@ jobs:
env:
DEVELOPER_DIR: "/Applications/Xcode.app/Contents/Developer"
SDKROOT: "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

build-android:
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
build-android:
runs-on: ubuntu-24.04
strategy:
matrix:
cfg:
- { target: android, opt: arm64 }
- { target: android, opt: arm64-v8a }
- { target: android, opt: x86_64 }
- { target: android, opt: armeabi-v7a }

env:
TARGET: ${{matrix.cfg.target}}
TARGET: ${{ matrix.cfg.target }}
ARCH: ${{ matrix.cfg.opt }}
ANDROID_SDK_ROOT: $ANDROID_HOME
ANDROID_NDK_ROOT: $ANDROID_NDK_LATEST_HOME

steps:
- name: checkout openFrameworks
uses: actions/checkout@v4

- uses: actions/checkout@v4
# - name: ccache
# uses: hendrikmuhs/ccache-action@v1.2.14
# with:
# key: ${{ matrix.cfg.target }}-${{ matrix.cfg.libs }}
- name: Set Up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'

- name: Download libs
run: ./scripts/android/download_libs.sh -t $RELEASE
- name: Download Libraries
run: ./of update libs android


- name: Build openFrameworks Core - Debug
run: |
cd libs/openFrameworksCompiled/project/android/
gradle wrapper
chmod +x gradlew
./gradlew assembleDebug

- name: Check if openFrameworks output Exists
run: |
LIB_PATH="libs/openFrameworksCompiled/lib/android/${ARCH}/libopenFrameworksAndroid.so"
if [ -f "$LIB_PATH" ]; then
echo "Build Success - [$LIB_PATH]"
else
echo "ERROR: Build Failed not found: [$LIB_PATH]"
exit 1
fi

22 changes: 17 additions & 5 deletions docs/android_studio.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[openFrameworks](http://openframeworks.cc/) | [Documentation table of contents](table_of_contents.md)

Android Studio
Android Studio 2025
=======

The Android distribution of openFrameworks is setup to work with Android Studio IDE.
Expand All @@ -9,9 +9,17 @@ The Android distribution of openFrameworks is setup to work with Android Studio

Setting up openFrameworks with Android Studio is fairly straightforward. The basic steps are:

- Install the latest version of [Android Studio](https://developer.android.com/studio/index.html) (tested with version 3.0).
- Download openFrameworks 0.10.0 or later from the [download page](http://openframeworks.cc/download/) or from [github](https://github.com/openframeworks/openFrameworks/).
- Download and unzip the Android NDK version r15c: [Windows](https://dl.google.com/android/repository/android-ndk-r15c-windows-x86_64.zip), [Linux](https://dl.google.com/android/repository/android-ndk-r15c-linux-x86_64.zip), [OSX](https://dl.google.com/android/repository/android-ndk-r15c-darwin-x86_64.zip). It doesn't matter where you store the library, you will point Android Studio to this location later. *Notice that openFrameworks only works with version r15c!*
- Install the latest version of [Android Studio](https://developer.android.com/studio/index.html) (tested with Android Studio Meerkat | 2024.3.1).

### Select the following to be installed in SDK Manager (options)
- Android SDK 36.0 (or latest) - add any older APIs if targetting
- Build Tools 36.0.0 (or latest)
- NDK 28.0.13004108 (Side by Side)
- Android SDK Command Line Tools 19.0 (or latest)
- CMake 3.31.6 (or latest)

## Install openFrameworks
- Download openFrameworks 0.12.1 or later from the [download page](http://openframeworks.cc/download/) or from [github](https://github.com/openframeworks/openFrameworks/).
- If you got openFrameworks from git:
- Run `scripts/android/download_libs.sh` to download libraries.
- Use the Project Generator to generate Android Studio project files for android examples.
Expand All @@ -22,7 +30,11 @@ Setting up openFrameworks with Android Studio is fairly straightforward. The bas

### Build and run

Press the Play button next to the `androidEmptyExample` shown in the toolbar. With any luck, it should build the app and deploy it to your Android device after a few seconds (or prompt you to deploy it to a suitable emulator). If the app runs, congratulations! You have setup openFrameworks.
Press the Play button next to the `androidEmptyExample` shown in the toolbar. It will build the app and deploy it to your Android device after a few seconds (or prompt you to deploy it to a suitable emulator). If the app runs, congratulations! You have setup openFrameworks.

### Building directly with Gradle
- Can build directly in folder with ./gradlew assembleDebug
- System will need latest version of JDK for this https://www.oracle.com/us/java/technologies/downloads/#jdk23-mac

## Creating new projects

Expand Down
Loading