diff --git a/android/build.gradle b/android/build.gradle
index 23d84e2d24ab0bf9c3942da07fdfc3a511c822d2..d64557af4eb2ecfae920cabe31b77c3ad2b861a6 100644 (file)
--- a/android/build.gradle
+++ b/android/build.gradle
+plugins {
+ id "kotlin-android"
+}
+
+def keystorePropertiesFile = rootProject.file("keystore.properties")
+def keystoreProperties = new Properties()
+keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
+
android {
- buildToolsVersion "25.0.0"
- compileSdkVersion 20
+ namespace "ru.deadsoftware.cavedroid"
+ compileSdkVersion 34
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
debug {
res.srcDirs = ['debug/res']
}
- instrumentTest.setRoot('tests')
+ }
+ compileOptions {
+ sourceCompatibility 17
+ targetCompatibility 17
}
packagingOptions {
exclude 'META-INF/robovm/ios/robovm.xml'
}
defaultConfig {
- applicationId "ru.deadsoftware.cavecraft"
- minSdkVersion 9
- targetSdkVersion 20
- versionCode 5
- versionName "alpha0.4-dev"
+ applicationId "ru.deadsoftware.cavedroid"
+ minSdkVersion 24
+ targetSdkVersion 34
+ versionCode 19
+ versionName "alpha0.6.2"
+ }
+ applicationVariants.all { variant ->
+ variant.outputs.all {
+ outputFileName = "android-${versionName}.apk"
+ }
}
+
+ signingConfigs {
+ release_config {
+ storeFile file(keystoreProperties['releaseKeystorePath'])
+ storePassword keystoreProperties['releaseKeystorePassword']
+ keyAlias keystoreProperties['releaseKeyAlias']
+ keyPassword keystoreProperties['releaseKeyPassword']
+ }
+ }
+
buildTypes {
release {
minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ signingConfig signingConfigs.release_config
}
debug {
applicationIdSuffix ".debug"
}
}
+ buildFeatures {
+ buildConfig true
+ }
+
}
+
+
// 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.
-task copyAndroidNatives() {
- file("libs/armeabi/").mkdirs();
- file("libs/armeabi-v7a/").mkdirs();
- file("libs/arm64-v8a/").mkdirs();
- file("libs/x86_64/").mkdirs();
- file("libs/x86/").mkdirs();
+task copyAndroidNatives {
+ doFirst {
+ file("libs/armeabi/").mkdirs()
+ file("libs/armeabi-v7a/").mkdirs()
+ file("libs/arm64-v8a/").mkdirs()
+ file("libs/x86_64/").mkdirs()
+ file("libs/x86/").mkdirs()
- configurations.natives.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-armeabi.jar")) outputDir = file("libs/armeabi")
- 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"
+ configurations.natives.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-armeabi.jar")) outputDir = file("libs/armeabi")
+ 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.whenTaskAdded { packageTask ->
+ if (packageTask.name.contains("package")) {
+ packageTask.dependsOn 'copyAndroidNatives'
+ }
+}
+
task run(type: Exec) {
def path
def localProperties = project.file("../local.properties")
}
def adb = path + "/platform-tools/adb"
- commandLine "$adb", 'shell', 'am', 'start', '-n', 'ru.deadsoftware.cavecraft/ru.deadsoftware.cavecraft.AndroidLauncher'
-}
-// sets up the Android Eclipse project, using the old Ant based build.
-eclipse {
- // need to specify Java source sets explicitly, SpringSource Gradle Eclipse plugin
- // ignores any nodes added in classpath.file.withXml
- sourceSets {
- main {
- java.srcDirs "src", 'gen'
- }
- }
-
- jdt {
- sourceCompatibility = 1.6
- targetCompatibility = 1.6
- }
-
- classpath {
- plusConfigurations += [project.configurations.compile]
- containers 'com.android.ide.eclipse.adt.ANDROID_FRAMEWORK', 'com.android.ide.eclipse.adt.LIBRARIES'
- }
-
- project {
- name = appName + "-android"
- natures 'com.android.ide.eclipse.adt.AndroidNature'
- buildCommands.clear();
- buildCommand "com.android.ide.eclipse.adt.ResourceManagerBuilder"
- buildCommand "com.android.ide.eclipse.adt.PreCompilerBuilder"
- buildCommand "org.eclipse.jdt.core.javabuilder"
- buildCommand "com.android.ide.eclipse.adt.ApkBuilder"
- }
-}
-// sets up the Android Idea project, using the old Ant based build.
-idea {
- module {
- sourceDirs += file("src");
- scopes = [COMPILE: [plus: [project.configurations.compile]]]
-
- iml {
- withXml {
- def node = it.asNode()
- def builder = NodeBuilder.newInstance();
- builder.current = node;
- builder.component(name: "FacetManager") {
- facet(type: "android", name: "Android") {
- configuration {
- option(name: "UPDATE_PROPERTY_FILES", value: "true")
- }
- }
- }
- }
- }
- }
-}
-dependencies {
-}
+ commandLine "$adb", 'shell', 'am', 'start', '-n', 'ru.deadsoftware.cavedroid/ru.deadsoftware.cavedroid.AndroidLauncher'
+}
\ No newline at end of file