apply plugin: 'com.android.application' apply plugin: 'kotlin-android' def acraSecretsPropertiesFile = rootProject.file("acra.properties") def acraSecretsProperties = new Properties() acraSecretsProperties.load(new FileInputStream(acraSecretsPropertiesFile)) android { compileSdkVersion 32 defaultConfig { applicationId "io.github.chronosx88.yggdrasil" minSdkVersion 15 targetSdkVersion 32 versionCode 39 versionName "2.1.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" setProperty("archivesBaseName", project.getParent().name+"-"+versionName) buildConfigField("String", "ACRA_BACKEND_URL", acraSecretsProperties['ACRA_BACKEND_URL']) buildConfigField("String", "ACRA_LOGIN", acraSecretsProperties['ACRA_LOGIN']) buildConfigField("String", "ACRA_PASSWORD", acraSecretsProperties['ACRA_PASSWORD']) multiDexEnabled true } signingConfigs { release { storeFile file(KEYSTORE_FILE_PATH) storePassword System.getenv("KEYSTORE_PASSWORD") keyAlias System.getenv("KEY_ALIAS") keyPassword System.getenv("KEY_PASSWORD") } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } } ndkVersion "21.2.6472646" compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for errors in release builds, // but continue the build even when errors are found: abortOnError false } packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' } buildFeatures { viewBinding true } } task ndkBuild(type: Exec) { def rootDir = project.rootDir workingDir = new File(rootDir,"yggdrasil") commandLine 'make' } gradle.projectsEvaluated { tasks.compileDebugKotlin.dependsOn(ndkBuild) } dependencies { implementation 'ch.acra:acra-http:5.8.3' implementation 'ch.acra:acra-dialog:5.8.3' implementation fileTree(dir: 'libs', include: ['*.jar']) implementation project(path: ':yggdrasil') implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'androidx.constraintlayout:constraintlayout:2.1.3' implementation 'androidx.preference:preference-ktx:1.2.0' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2' implementation 'com.google.android.material:material:1.7.0-alpha01' implementation 'com.google.code.gson:gson:2.8.6' implementation 'com.hbb20:ccp:2.4.0' implementation 'com.vincentbrison.openlibraries.android:dualcache:3.1.1' implementation 'com.vincentbrison.openlibraries.android:dualcache-jsonserializer:3.1.1' implementation 'com.android.support:multidex:1.0.3' implementation 'androidx.work:work-runtime-ktx:2.7.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test:runner:1.4.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' }