apply plugin: 'com.android.application' def getDate() { return new Date().format('yyyyMMdd')} def getDateSeconds() { if(System.getenv("GITHUB_ACTIONS").equals("true")) { return 9934841+Integer.parseInt(System.getenv("GITHUB_RUN_NUMBER")) }else{ return 172005 } } def getVersionName = { // Get the last version tag, as well as the short head of the last commit ByteArrayOutputStream TAG = new ByteArrayOutputStream() ByteArrayOutputStream BRANCH = new ByteArrayOutputStream() exec { try{ commandLine 'git', 'describe', '--tags' ignoreExitValue true standardOutput = TAG }catch(Exception e){} } exec{ try{ commandLine 'git', 'branch', '--show-current' ignoreExitValue true standardOutput = BRANCH }catch(Exception e){} } if(TAG.toString() == ""){ return ("LOCAL-" + "${getDate()}") } return TAG.toString().trim().replace("-g","-") + "-" + BRANCH.toString().trim(); } android { compileSdkVersion 30 dexOptions { javaMaxHeapSize "4g" } lintOptions { abortOnError false } signingConfigs { customDebug { storeFile file("debug.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } googlePlayBuild { storeFile file("upload.jks") storePassword System.getenv("GPLAY_KEYSTORE_PASSWORD") keyAlias "upload" keyPassword System.getenv("GPLAY_KEYSTORE_PASSWORD") } } defaultConfig { applicationId "net.kdt.pojavlaunch" minSdkVersion 21 targetSdkVersion 31 versionCode getDateSeconds() versionName getVersionName() multiDexEnabled true //important } buildTypes { debug { applicationIdSuffix '.debug' minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.customDebug resValue 'string', 'storageProviderAuthorities', 'net.kdt.pojavlaunch.scoped.gamefolder.debug' } release { // Don't set to true or java.awt will be a.a or something similar. minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' // defaultConfig already set // multiDexEnabled = true // debuggable = true resValue 'string', 'storageProviderAuthorities', 'net.kdt.pojavlaunch.scoped.gamefolder' } gplay { initWith release signingConfig signingConfigs.googlePlayBuild } } externalNativeBuild { ndkBuild { path file('src/main/jni/Android.mk') } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } bundle { language { enableSplit = false } } buildToolsVersion '30.0.2' } dependencies { implementation 'javax.annotation:javax.annotation-api:1.3.2' implementation 'commons-codec:commons-codec:1.14' // implementation 'com.wu-man:android-bsf-api:3.1.3' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.preference:preference:1.1.1' implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.legacy:legacy-preference-v14:1.0.0' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.annotation:annotation:1.2.0' implementation 'androidx.browser:browser:1.3.0' implementation "androidx.constraintlayout:constraintlayout:2.0.4" implementation 'com.github.martin-stone:hsv-alpha-color-picker-android:3.0.1' implementation 'com.github.duanhong169:checkerboarddrawable:1.0.2' // implementation 'com.intuit.sdp:sdp-android:1.0.5' // implementation 'com.intuit.ssp:ssp-android:1.0.5' implementation 'org.tukaani:xz:1.8' implementation 'net.objecthunter:exp4j:0.4.8' // implementation 'net.sourceforge.streamsupport:streamsupport-cfuture:1.7.0' implementation fileTree(dir: 'libs', include: ['*.jar']) }