creating android project files

This commit is contained in:
2026-08-07 17:39:49 -05:00
parent fb3e6dc705
commit 4aa23d3670
10 changed files with 162 additions and 3 deletions

View File

View File

@@ -0,0 +1,67 @@
plugins {
id("com.android.application")
}
android {
namespace = "com.critterfolio.app"
compileSdk = 34
ndkVersion = "26.3.11579264"
defaultConfig {
applicationId = "com.critterfolio.app"
minSdk = 24
targetSdk = 34
versionCode = 1
versionName = "0.1.0"
ndk {
abiFilters += listOf("arm64-v8a")
}
externalNativeBuild {
cmake {
arguments += "-DANDROID_STL=c++_shared"
cppFlags += "-std=c++17"
}
}
}
buildFeatures {
prefab = true
}
externalNativeBuild {
cmake {
path = file("CMakeLists.txt")
version = "3.22.1"
}
}
sourceSets {
getByName("main") {
assets.srcDirs("../../assets")
}
}
buildTypes {
release {
isMinifyEnabled = false
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
packaging {
jniLibs {
useLegacyPackaging = true
}
}
}
dependencies {
implementation(files("libs/SDL3-3.4.14.aar"))
implementation(files("libs/SDL3_image-3.4.4.aar"))
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature android:glEsVersion="0x00030000" android:required="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:label="Critterfolio"
android:hasCode="true">
<activity
android:name="com.critterfolio.app.MainActivity"
android:label="Critterfolio"
android:configChanges="orientation|screenSize|keyboardHidden"
android:exported="true"
android:screenOrientation="fullSensor">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

View File

@@ -0,0 +1,13 @@
package com.critterfolio.app;
import org.libsdl.app.SDLActivity;
public class MainActivity extends SDLActivity {
@Override
protected String[] getLibraries() {
return new String[] {
"SDL3",
"critterfolio"
};
}
}

3
android/build.gradle.kts Normal file
View File

@@ -0,0 +1,3 @@
plugins {
id("com.android.application") version "8.5.2" apply false
}

View File

@@ -0,0 +1,2 @@
org.gradle.jvmargs=-Xmx2048m
android.useAndroidX=true

View File

@@ -0,0 +1,17 @@
pluginManagement {
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
}
}
rootProject.name = "critterfolio"
include(":app")

View File

@@ -9,7 +9,13 @@
outputs = { self, nixpkgs, utils }:
utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
android_sdk.accept_license = true;
};
};
rmlui = pkgs.stdenv.mkDerivation rec {
pname = "rmlui";
@@ -66,10 +72,31 @@
sqlitecpp
toml11
];
ndkVersion = "26.3.11579264";
androidComposition = pkgs.androidenv.composeAndroidPackages {
platformVersions = [ "34" ];
buildToolsVersions = [ "34.0.0" ];
includeNDK = true;
ndkVersions = [ ndkVersion ];
abiVersions = [ "arm64-v8a" ];
includeEmulator = false;
};
androidSdkRoot = "${androidComposition.androidsdk}/libexec/android-sdk";
androidNdkRoot = "${androidSdkRoot}/ndk/${ndkVersion}";
androidDeps = [
androidComposition.androidsdk
pkgs.gradle
pkgs.jdk17
pkgs.ninja
];
in
{
devShells.default = pkgs.mkShell {
nativeBuildInputs = buildDeps;
nativeBuildInputs = buildDeps ++ androidDeps;
buildInputs = runtimeDeps;
shellHook = ''
@@ -77,7 +104,12 @@
export LIBRARY_PATH="${pkgs.libGL}/lib:${rmlui}/lib"
export LD_LIBRARY_PATH="$LIBRARY_PATH:$LD_LIBRARY_PATH"
echo "Env ready"
export ANDROID_HOME="${androidSdkRoot}"
export ANDROID_SDK_ROOT="${androidSdkRoot}"
export ANDROID_NDK_HOME="${androidNdkRoot}"
export ANDROID_NDK_ROOT="${androidNdkRoot}"
echo "Env ready (desktop + Android NDK ${ndkVersion}, arm64-v8a)"
'';
};