DEADSOFTWARE

Remove debug keystore
[cavedroid.git] / android / build.gradle
1 plugins {
2 id "kotlin-android"
3 }
5 def keystorePropertiesFile = rootProject.file("keystore.properties")
6 def keystoreProperties = new Properties()
7 keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
9 android {
10 namespace "ru.deadsoftware.cavedroid"
11 compileSdkVersion 34
12 sourceSets {
13 main {
14 manifest.srcFile 'AndroidManifest.xml'
15 java.srcDirs = ['src']
16 aidl.srcDirs = ['src']
17 renderscript.srcDirs = ['src']
18 res.srcDirs = ['res']
19 assets.srcDirs = ['assets']
20 jniLibs.srcDirs = ['libs']
21 }
22 debug {
23 res.srcDirs = ['debug/res']
24 }
25 }
26 compileOptions {
27 sourceCompatibility 17
28 targetCompatibility 17
29 }
30 packagingOptions {
31 exclude 'META-INF/robovm/ios/robovm.xml'
32 }
33 defaultConfig {
34 applicationId "ru.deadsoftware.cavedroid"
35 minSdkVersion 24
36 targetSdkVersion 34
37 versionCode 16
38 versionName "alpha0.5.2"
39 }
40 applicationVariants.all { variant ->
41 variant.outputs.all {
42 outputFileName = "android-${versionName}.apk"
43 }
44 }
46 signingConfigs {
47 release_config {
48 storeFile file(keystoreProperties['releaseKeystorePath'])
49 storePassword keystoreProperties['releaseKeystorePassword']
50 keyAlias keystoreProperties['releaseKeyAlias']
51 keyPassword keystoreProperties['releaseKeyPassword']
52 }
53 }
55 buildTypes {
56 release {
57 minifyEnabled false
58 signingConfig signingConfigs.release_config
59 }
60 debug {
61 applicationIdSuffix ".debug"
62 signingConfig signingConfigs.debug_config
63 }
64 }
65 buildFeatures {
66 buildConfig true
67 }
69 }
72 // called every time gradle gets executed, takes the native dependencies of
73 // the natives configuration, and extracts them to the proper libs/ folders
74 // so they get packed with the APK.
75 task copyAndroidNatives {
76 doFirst {
77 file("libs/armeabi/").mkdirs()
78 file("libs/armeabi-v7a/").mkdirs()
79 file("libs/arm64-v8a/").mkdirs()
80 file("libs/x86_64/").mkdirs()
81 file("libs/x86/").mkdirs()
83 configurations.natives.files.each { jar ->
84 def outputDir = null
85 if (jar.name.endsWith("natives-arm64-v8a.jar")) outputDir = file("libs/arm64-v8a")
86 if (jar.name.endsWith("natives-armeabi-v7a.jar")) outputDir = file("libs/armeabi-v7a")
87 if(jar.name.endsWith("natives-armeabi.jar")) outputDir = file("libs/armeabi")
88 if(jar.name.endsWith("natives-x86_64.jar")) outputDir = file("libs/x86_64")
89 if(jar.name.endsWith("natives-x86.jar")) outputDir = file("libs/x86")
90 if(outputDir != null) {
91 copy {
92 from zipTree(jar)
93 into outputDir
94 include "*.so"
95 }
96 }
97 }
98 }
99 }
101 tasks.whenTaskAdded { packageTask ->
102 if (packageTask.name.contains("package")) {
103 packageTask.dependsOn 'copyAndroidNatives'
107 task run(type: Exec) {
108 def path
109 def localProperties = project.file("../local.properties")
110 if (localProperties.exists()) {
111 Properties properties = new Properties()
112 localProperties.withInputStream { instr ->
113 properties.load(instr)
115 def sdkDir = properties.getProperty('sdk.dir')
116 if (sdkDir) {
117 path = sdkDir
118 } else {
119 path = "$System.env.ANDROID_HOME"
121 } else {
122 path = "$System.env.ANDROID_HOME"
125 def adb = path + "/platform-tools/adb"
126 commandLine "$adb", 'shell', 'am', 'start', '-n', 'ru.deadsoftware.cavedroid/ru.deadsoftware.cavedroid.AndroidLauncher'