2024-07-23 16:33:12 +02:00
|
|
|
apply plugin: 'com.android.application'
|
2014-08-09 22:41:29 +02:00
|
|
|
|
2024-07-23 16:33:12 +02:00
|
|
|
|
|
|
|
android {
|
|
|
|
namespace "de.samdev.colorrunner"
|
|
|
|
compileSdk 34
|
|
|
|
sourceSets {
|
|
|
|
main {
|
|
|
|
manifest.srcFile 'AndroidManifest.xml'
|
|
|
|
java.setSrcDirs(['src/main/java'])
|
|
|
|
aidl.setSrcDirs(['src/main/java'])
|
|
|
|
renderscript.setSrcDirs(['src/main/java'])
|
|
|
|
res.setSrcDirs(['res'])
|
|
|
|
assets.setSrcDirs(['../assets'])
|
|
|
|
jniLibs.setSrcDirs(['libs'])
|
2017-11-22 19:14:24 +01:00
|
|
|
}
|
2024-07-23 16:33:12 +02:00
|
|
|
}
|
|
|
|
packagingOptions {
|
|
|
|
resources {
|
|
|
|
excludes += ['META-INF/robovm/ios/robovm.xml', 'META-INF/DEPENDENCIES.txt', 'META-INF/DEPENDENCIES',
|
|
|
|
'META-INF/dependencies.txt', '**/*.gwt.xml']
|
|
|
|
pickFirsts += ['META-INF/LICENSE.txt', 'META-INF/LICENSE', 'META-INF/license.txt', 'META-INF/LGPL2.1',
|
|
|
|
'META-INF/NOTICE.txt', 'META-INF/NOTICE', 'META-INF/notice.txt']
|
|
|
|
}
|
|
|
|
}
|
|
|
|
defaultConfig {
|
|
|
|
applicationId 'de.samdev.colorrunner'
|
|
|
|
minSdkVersion 19
|
|
|
|
targetSdkVersion 34
|
|
|
|
versionCode 1
|
|
|
|
versionName "1.0"
|
|
|
|
multiDexEnabled true
|
|
|
|
}
|
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility "11"
|
|
|
|
targetCompatibility "11"
|
|
|
|
coreLibraryDesugaringEnabled true
|
|
|
|
}
|
|
|
|
buildTypes {
|
|
|
|
release {
|
|
|
|
minifyEnabled true
|
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
2017-11-22 19:14:24 +01:00
|
|
|
}
|
2024-07-23 16:33:12 +02:00
|
|
|
}
|
2014-08-09 22:41:29 +02:00
|
|
|
}
|
2017-04-13 22:01:57 +02:00
|
|
|
|
2024-07-23 16:33:12 +02:00
|
|
|
repositories {
|
|
|
|
// needed for AAPT2, may be needed for other tools
|
|
|
|
google()
|
|
|
|
}
|
|
|
|
|
|
|
|
configurations { natives }
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
|
|
|
|
implementation "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
|
|
|
|
implementation project(':core')
|
|
|
|
|
|
|
|
natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-arm64-v8a"
|
|
|
|
natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-armeabi-v7a"
|
|
|
|
natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-x86"
|
|
|
|
natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-x86_64"
|
|
|
|
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a"
|
|
|
|
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"
|
|
|
|
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
|
|
|
|
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64"
|
2017-04-13 22:01:57 +02:00
|
|
|
|
2024-07-23 16:33:12 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// Called every time gradle gets executed, takes the native dependencies of
|
2014-08-09 22:41:29 +02:00
|
|
|
// the natives configuration, and extracts them to the proper libs/ folders
|
|
|
|
// so they get packed with the APK.
|
2024-07-23 16:33:12 +02:00
|
|
|
tasks.register('copyAndroidNatives') {
|
|
|
|
doFirst {
|
|
|
|
file("libs/armeabi-v7a/").mkdirs()
|
|
|
|
file("libs/arm64-v8a/").mkdirs()
|
|
|
|
file("libs/x86_64/").mkdirs()
|
|
|
|
file("libs/x86/").mkdirs()
|
2014-08-09 22:41:29 +02:00
|
|
|
|
2024-07-23 16:33:12 +02:00
|
|
|
configurations.natives.copy().files.each { jar ->
|
|
|
|
def outputDir = null
|
|
|
|
if(jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
|
|
|
|
if(jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
|
|
|
|
if(jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
|
|
|
|
if(jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
|
|
|
|
if(outputDir != null) {
|
|
|
|
copy {
|
|
|
|
from zipTree(jar)
|
|
|
|
into outputDir
|
|
|
|
include "*.so"
|
2014-08-09 22:41:29 +02:00
|
|
|
}
|
2024-07-23 16:33:12 +02:00
|
|
|
}
|
2014-08-09 22:41:29 +02:00
|
|
|
}
|
2024-07-23 16:33:12 +02:00
|
|
|
}
|
2014-08-09 22:41:29 +02:00
|
|
|
}
|
2017-04-13 22:01:57 +02:00
|
|
|
|
2024-07-23 16:33:12 +02:00
|
|
|
tasks.matching { it.name.contains("merge") && it.name.contains("JniLibFolders") }.configureEach { packageTask ->
|
|
|
|
packageTask.dependsOn 'copyAndroidNatives'
|
2014-08-09 22:41:29 +02:00
|
|
|
}
|
2017-04-13 22:01:57 +02:00
|
|
|
|
2024-07-23 16:33:12 +02:00
|
|
|
tasks.register('run', Exec) {
|
|
|
|
def path
|
|
|
|
def localProperties = project.file("../local.properties")
|
|
|
|
if (localProperties.exists()) {
|
|
|
|
Properties properties = new Properties()
|
|
|
|
localProperties.withInputStream { instr ->
|
|
|
|
properties.load(instr)
|
2017-11-22 19:14:24 +01:00
|
|
|
}
|
2024-07-23 16:33:12 +02:00
|
|
|
def sdkDir = properties.getProperty('sdk.dir')
|
|
|
|
if (sdkDir) {
|
|
|
|
path = sdkDir
|
|
|
|
} else {
|
|
|
|
path = "$System.env.ANDROID_SDK_ROOT"
|
2017-11-22 19:14:24 +01:00
|
|
|
}
|
2024-07-23 16:33:12 +02:00
|
|
|
} else {
|
|
|
|
path = "$System.env.ANDROID_SDK_ROOT"
|
|
|
|
}
|
2017-11-22 19:14:24 +01:00
|
|
|
|
2024-07-23 16:33:12 +02:00
|
|
|
def adb = path + "/platform-tools/adb"
|
|
|
|
commandLine "$adb", 'shell', 'am', 'start', '-n', 'de.samdev.colorrunner/de.samdev.colorrunner.android.AndroidLauncher'
|
2017-11-22 19:14:24 +01:00
|
|
|
}
|
2017-04-13 22:01:57 +02:00
|
|
|
|
2024-07-23 16:33:12 +02:00
|
|
|
eclipse.project.name = appName + "-android"
|