DEADSOFTWARE

70bf45521744cf0d2ea637707ccbe951587953b1
[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 }
36 }
39 // called every time gradle gets executed, takes the native dependencies of
40 // the natives configuration, and extracts them to the proper libs/ folders
41 // so they get packed with the APK.
42 task copyAndroidNatives {
43 doFirst {
44 file("libs/armeabi/").mkdirs()
45 file("libs/armeabi-v7a/").mkdirs()
46 file("libs/arm64-v8a/").mkdirs()
47 file("libs/x86_64/").mkdirs()
48 file("libs/x86/").mkdirs()
50 configurations.natives.files.each { jar ->
51 def outputDir = null
52 if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
53 if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
54 if(jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi")
55 if(jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
56 if(jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
57 if(outputDir != null) {
58 copy {
59 from zipTree(jar)
60 into outputDir
61 include "*.so"
62 }
63 }
64 }
65 }
66 }
68 tasks.whenTaskAdded { packageTask ->
69 if (packageTask.name.contains("package")) {
70 packageTask.dependsOn 'copyAndroidNatives'
71 }
72 }
74 task run(type: Exec) {
75 def path
76 def localProperties = project.file("../local.properties")
77 if (localProperties.exists()) {
78 Properties properties = new Properties()
79 localProperties.withInputStream { instr ->
80 properties.load(instr)
81 }
82 def sdkDir = properties.getProperty('sdk.dir')
83 if (sdkDir) {
84 path = sdkDir
85 } else {
86 path = "$System.env.ANDROID_HOME"
87 }
88 } else {
89 path = "$System.env.ANDROID_HOME"
90 }
92 def adb = path + "/platform-tools/adb"
93 commandLine "$adb", 'shell', 'am', 'start', '-n', 'ru.deadsoftware.cavedroid/ru.deadsoftware.cavedroid.AndroidLauncher'
94 }