DEADSOFTWARE

Move items to JSON
[cavedroid.git] / android / build.gradle
1 android {
2 buildToolsVersion "28.0.3"
3 compileSdkVersion 29
4 sourceSets {
5 main {
6 manifest.srcFile 'AndroidManifest.xml'
7 java.srcDirs = ['src']
8 aidl.srcDirs = ['src']
9 renderscript.srcDirs = ['src']
10 res.srcDirs = ['res']
11 assets.srcDirs = ['assets']
12 jniLibs.srcDirs = ['libs']
13 }
14 debug {
15 res.srcDirs = ['debug/res']
16 }
17 }
18 packagingOptions {
19 exclude 'META-INF/robovm/ios/robovm.xml'
20 }
21 defaultConfig {
22 applicationId "ru.deadsoftware.cavedroid"
23 minSdkVersion 14
24 targetSdkVersion 29
25 versionCode 10
26 versionName "alpha0.4"
27 }
28 buildTypes {
29 release {
30 minifyEnabled false
31 }
32 debug {
33 applicationIdSuffix ".debug"
34 }
35 }
37 }
40 // called every time gradle gets executed, takes the native dependencies of
41 // the natives configuration, and extracts them to the proper libs/ folders
42 // so they get packed with the APK.
43 task copyAndroidNatives {
44 doFirst {
45 file("libs/armeabi/").mkdirs()
46 file("libs/armeabi-v7a/").mkdirs()
47 file("libs/arm64-v8a/").mkdirs()
48 file("libs/x86_64/").mkdirs()
49 file("libs/x86/").mkdirs()
51 configurations.natives.files.each { jar ->
52 def outputDir = null
53 if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
54 if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
55 if(jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi")
56 if(jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
57 if(jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
58 if(outputDir != null) {
59 copy {
60 from zipTree(jar)
61 into outputDir
62 include "*.so"
63 }
64 }
65 }
66 }
67 }
69 tasks.whenTaskAdded { packageTask ->
70 if (packageTask.name.contains("package")) {
71 packageTask.dependsOn 'copyAndroidNatives'
72 }
73 }
75 task run(type: Exec) {
76 def path
77 def localProperties = project.file("../local.properties")
78 if (localProperties.exists()) {
79 Properties properties = new Properties()
80 localProperties.withInputStream { instr ->
81 properties.load(instr)
82 }
83 def sdkDir = properties.getProperty('sdk.dir')
84 if (sdkDir) {
85 path = sdkDir
86 } else {
87 path = "$System.env.ANDROID_HOME"
88 }
89 } else {
90 path = "$System.env.ANDROID_HOME"
91 }
93 def adb = path + "/platform-tools/adb"
94 commandLine "$adb", 'shell', 'am', 'start', '-n', 'ru.deadsoftware.cavedroid/ru.deadsoftware.cavedroid.AndroidLauncher'
95 }