123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- buildscript {
- repositories {
- mavenCentral()
- google()
- }
- }
- apply plugin: 'com.android.application'
- android {
- namespace "xyz.prismix"
- 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'])
- }
- }
- 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 'xyz.prismix'
- minSdkVersion 19
- targetSdkVersion 34
- versionCode 1
- versionName "1.0"
- multiDexEnabled true
- }
- compileOptions {
- sourceCompatibility "8"
- targetCompatibility "8"
- coreLibraryDesugaringEnabled true
- }
- buildTypes {
- release {
- minifyEnabled true
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
- }
- 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 "com.github.MrStahlfelge.gdx-websockets:common:$websocketVersion"
- 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-bullet-platform:$gdxVersion:natives-arm64-v8a"
- natives "com.badlogicgames.gdx:gdx-bullet-platform:$gdxVersion:natives-armeabi-v7a"
- natives "com.badlogicgames.gdx:gdx-bullet-platform:$gdxVersion:natives-x86"
- natives "com.badlogicgames.gdx:gdx-bullet-platform:$gdxVersion:natives-x86_64"
- natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-arm64-v8a"
- natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi-v7a"
- natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86"
- natives "com.badlogicgames.gdx:gdx-freetype-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"
- }
- // Called every time gradle gets executed, takes the native dependencies of
- // the natives configuration, and extracts them to the proper libs/ folders
- // so they get packed with the APK.
- tasks.register('copyAndroidNatives') {
- doFirst {
- file("libs/armeabi-v7a/").mkdirs()
- file("libs/arm64-v8a/").mkdirs()
- file("libs/x86_64/").mkdirs()
- file("libs/x86/").mkdirs()
- 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"
- }
- }
- }
- }
- }
- tasks.matching { it.name.contains("merge") && it.name.contains("JniLibFolders") }.configureEach { packageTask ->
- packageTask.dependsOn 'copyAndroidNatives'
- }
- 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)
- }
- def sdkDir = properties.getProperty('sdk.dir')
- if (sdkDir) {
- path = sdkDir
- } else {
- path = "$System.env.ANDROID_SDK_ROOT"
- }
- } else {
- path = "$System.env.ANDROID_SDK_ROOT"
- }
- def adb = path + "/platform-tools/adb"
- commandLine "$adb", 'shell', 'am', 'start', '-n', 'xyz.prismix/xyz.prismix.android.AndroidLauncher'
- }
- eclipse.project.name = appName + "-android"
|