X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=android%2Fbuild.gradle;h=c59ba712420e717f099462642938c176a6add054;hb=127dbffee03093baee8c11a4e7e152aee0bf5343;hp=935b5bf9109f4caee346bd7b416a92033ae06413;hpb=b1614a603547cfdcc3501b178f03aa40f1b7b82f;p=cavedroid.git diff --git a/android/build.gradle b/android/build.gradle index 935b5bf..c59ba71 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,6 +1,14 @@ +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' @@ -11,55 +19,97 @@ android { assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] } - - instrumentTest.setRoot('tests') + debug { + res.srcDirs = ['debug/res'] + } + } + compileOptions { + sourceCompatibility 17 + targetCompatibility 17 } packagingOptions { exclude 'META-INF/robovm/ios/robovm.xml' } defaultConfig { - applicationId "ru.deadsoftware.cavecraft" - minSdkVersion 9 - targetSdkVersion 20 - versionCode 1 - versionName "1.0" + applicationId "ru.deadsoftware.cavedroid" + minSdkVersion 24 + targetSdkVersion 34 + versionCode 16 + versionName "alpha0.5.2" + } + applicationVariants.all { variant -> + variant.outputs.all { + outputFileName = "android-${versionName}.apk" + } + } + + signingConfigs { + debug_config { + storeFile file(keystoreProperties['debugKeystorePath']) + storePassword keystoreProperties['debugKeystorePassword'] + keyAlias keystoreProperties['debugKeyAlias'] + keyPassword keystoreProperties['debugKeyPassword'] + } + 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" + signingConfig signingConfigs.debug_config + } + } + 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") @@ -79,59 +129,5 @@ task run(type: Exec) { } 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") - } - } - } - } - } - } -} + commandLine "$adb", 'shell', 'am', 'start', '-n', 'ru.deadsoftware.cavedroid/ru.deadsoftware.cavedroid.AndroidLauncher' +} \ No newline at end of file