DEADSOFTWARE

Update version
[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 compileOptions {
19 sourceCompatibility 1.8
20 targetCompatibility 1.8
21 }
22 packagingOptions {
23 exclude 'META-INF/robovm/ios/robovm.xml'
24 }
25 defaultConfig {
26 applicationId "ru.deadsoftware.cavedroid"
27 minSdkVersion 24
28 targetSdkVersion 29
29 versionCode 10
30 versionName "alpha0.4"
31 }
32 applicationVariants.all { variant ->
33 variant.outputs.all {
34 outputFileName = "android-${versionName}.apk"
35 }
36 }
37 buildTypes {
38 release {
39 minifyEnabled false
40 }
41 debug {
42 applicationIdSuffix ".debug"
43 }
44 }
46 }
49 // called every time gradle gets executed, takes the native dependencies of
50 // the natives configuration, and extracts them to the proper libs/ folders
51 // so they get packed with the APK.
52 task copyAndroidNatives {
53 doFirst {
54 file("libs/armeabi/").mkdirs()
55 file("libs/armeabi-v7a/").mkdirs()
56 file("libs/arm64-v8a/").mkdirs()
57 file("libs/x86_64/").mkdirs()
58 file("libs/x86/").mkdirs()
60 configurations.natives.files.each { jar ->
61 def outputDir = null
62 if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
63 if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
64 if(jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi")
65 if(jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
66 if(jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
67 if(outputDir != null) {
68 copy {
69 from zipTree(jar)
70 into outputDir
71 include "*.so"
72 }
73 }
74 }
75 }
76 }
78 tasks.whenTaskAdded { packageTask ->
79 if (packageTask.name.contains("package")) {
80 packageTask.dependsOn 'copyAndroidNatives'
81 }
82 }
84 task run(type: Exec) {
85 def path
86 def localProperties = project.file("../local.properties")
87 if (localProperties.exists()) {
88 Properties properties = new Properties()
89 localProperties.withInputStream { instr ->
90 properties.load(instr)
91 }
92 def sdkDir = properties.getProperty('sdk.dir')
93 if (sdkDir) {
94 path = sdkDir
95 } else {
96 path = "$System.env.ANDROID_HOME"
97 }
98 } else {
99 path = "$System.env.ANDROID_HOME"
102 def adb = path + "/platform-tools/adb"
103 commandLine "$adb", 'shell', 'am', 'start', '-n', 'ru.deadsoftware.cavedroid/ru.deadsoftware.cavedroid.AndroidLauncher'