3f0e33df89
You can always pass the language screen even if we don't read the percentage files We read the percentage files from the INTERNAL NOT THE LOCAL OBVIOUSLY
172 lines
No EOL
5.2 KiB
Groovy
172 lines
No EOL
5.2 KiB
Groovy
android {
|
|
buildToolsVersion "29.0.2"
|
|
compileSdkVersion 29
|
|
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 29
|
|
versionCode 350
|
|
versionName "3.4.1-patch1"
|
|
|
|
archivesBaseName = "Unciv"
|
|
}
|
|
|
|
// 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:!maps:!music:!mods"
|
|
}
|
|
|
|
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:!maps:!music"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// 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() {
|
|
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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.whenTaskAdded { packageTask ->
|
|
if (packageTask.name.contains("package")) {
|
|
packageTask.dependsOn 'copyAndroidNatives'
|
|
}
|
|
}
|
|
|
|
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")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|