Skip to content

v1.0.0

Choose a tag to compare

@ysdragon ysdragon released this 31 Aug 05:24
· 44 commits to master since this release
695e2ab

v1.0.0 — Initial Release

Build Android APKs from Ring applications without Gradle.

Highlights

  • No Gradle — calls SDK tools directly. Fast, debuggable, no daemon.
  • Ring bytecode embedding — compiles ring/*.ring to C bytecode and links it into libmain.so. No .ring assets shipped.
  • Native-first — android.app.NativeActivity host, your src/cpp built with the NDK via CMake + Ninja.
  • Optional Java — any src/java/**/*.java compiled with javac and dexed with d8.
  • Ring-native config — single ring2apk.ring hash list with defaults for every key.
  • Multi-ABI — arm64-v8a, armeabi-v7a, x86, x86_64 (override per-build with --target).
  • Incremental builds — skips when APK exists and sources haven't changed (Murmur3 hash); --rebuild to force.
  • 16 KB page-size ready — native libs linked with -Wl,-z,max-page-size=16384 (Android 15+ / Play Console).
  • Signing built in — debug keystore auto-created; release signing from config or CLI, verified with apksigner.

Commands

Command Description
init Scaffold a new project
build Compile debug/release APK
run Build + install + launch + logcat
sign Sign an existing APK
clean Remove build artifacts
create-keystore Generate a release keystore
help / version Self-explanatory

Installation

ringpm install ring2apk from ysdragon

Pre-built binaries: Releases

Requirements

  • Ring 1.27+ (RING env or ring on PATH) — strictly required
  • Android SDK (ANDROID_SDK_ROOT / ANDROID_HOME)
  • Android NDK
  • JDK, CMake + Ninja, zip

Quick Start

ring2apk init hello
cd hello
ring2apk build    # → build/hello-debug.apk
ring2apk run      # build + install + launch + logcat

Full Changelog: https://github.com/ysdragon/ring2apk/commits/v1.0.0