summaryrefslogtreecommitdiff
path: root/android/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'android/build.gradle')
-rw-r--r--android/build.gradle89
1 files changed, 89 insertions, 0 deletions
diff --git a/android/build.gradle b/android/build.gradle
new file mode 100644
index 0000000..1b3a289
--- /dev/null
+++ b/android/build.gradle
@@ -0,0 +1,89 @@
+android {
+ namespace "kz.ilotterytea.maxon"
+ buildToolsVersion "35.0.0"
+ compileSdkVersion 35
+ sourceSets {
+ main {
+ manifest.srcFile 'AndroidManifest.xml'
+ java.srcDirs = ['src']
+ aidl.srcDirs = ['src']
+ renderscript.srcDirs = ['src']
+ res.srcDirs = ['res']
+ assets.srcDirs = ['../assets']
+ jniLibs.srcDirs = ['libs']
+ }
+
+ }
+ packagingOptions {
+ exclude 'META-INF/robovm/ios/robovm.xml'
+ }
+ defaultConfig {
+ applicationId "kz.ilotterytea.maxon"
+ minSdkVersion 19
+ targetSdkVersion 35
+ versionCode 1
+ versionName "1.0"
+ }
+ buildTypes {
+ release {
+ minifyEnabled true
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+
+// 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-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
+ if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
+ 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_HOME"
+ }
+ } else {
+ path = "$System.env.ANDROID_HOME"
+ }
+
+ def adb = path + "/platform-tools/adb"
+ commandLine "$adb", 'shell', 'am', 'start', '-n', 'kz.ilotterytea.maxon/kz.ilotterytea.maxon.AndroidLauncher'
+}
+
+eclipse.project.name = appName + "-android"