6dc471850e
This allows us to FINALLY enable trade between human players, enables PvP in hotseat multiplayer, and paves the way to real multiplayer!
162 lines
4.9 KiB
Groovy
162 lines
4.9 KiB
Groovy
android {
|
|
buildToolsVersion "28.0.3"
|
|
compileSdkVersion 28
|
|
sourceSets {
|
|
main {
|
|
manifest.srcFile 'AndroidManifest.xml'
|
|
java.srcDirs = ['src']
|
|
aidl.srcDirs = ['src']
|
|
renderscript.srcDirs = ['src']
|
|
res.srcDirs = ['res']
|
|
assets.srcDirs = ['assets']
|
|
jniLibs.srcDirs = ['libs']
|
|
}
|
|
|
|
androidTest.setRoot('tests')
|
|
}
|
|
packagingOptions {
|
|
exclude 'META-INF/robovm/ios/robovm.xml'
|
|
}
|
|
defaultConfig {
|
|
applicationId "com.unciv.app"
|
|
minSdkVersion 14
|
|
targetSdkVersion 28
|
|
versionCode 281
|
|
versionName "2.19.0"
|
|
}
|
|
|
|
// Had to add this crap for Travis to build, it wanted to sign the app
|
|
// but couldn't create the debug keystore for some reason
|
|
|
|
signingConfigs {
|
|
debug {
|
|
storeFile rootProject.file('debug.keystore')
|
|
keyAlias 'androiddebugkey'
|
|
keyPassword 'android'
|
|
storePassword 'android'
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
// Don't add local save files and fonts to release, obviously
|
|
aaptOptions {
|
|
ignoreAssetsPattern "!SaveFiles:!fonts"
|
|
}
|
|
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
}
|
|
|
|
debug {
|
|
// Don't add local save files and fonts to release, obviously
|
|
aaptOptions {
|
|
ignoreAssetsPattern "!SaveFiles:!fonts"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// 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()
|
|
|
|
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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
task run(type: Exec) {
|
|
def path
|
|
def localProperties = project.file("../local.properties")
|
|
if (localProperties.exists()) {
|
|
Properties properties = new Properties()
|
|
localProperties.withInputStream { instr ->
|
|
properties.load(instr)
|
|
}
|
|
def sdkDir = properties.getProperty('sdk.dir')
|
|
if (sdkDir) {
|
|
path = sdkDir
|
|
} else {
|
|
path = "$System.env.ANDROID_HOME"
|
|
}
|
|
} else {
|
|
path = "$System.env.ANDROID_HOME"
|
|
}
|
|
|
|
def adb = path + "/platform-tools/adb"
|
|
commandLine "$adb", 'shell', 'am', 'start', '-n', 'com.unciv.app/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")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|