buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.4.2' } } allprojects { repositories { google() jcenter() } Properties props = new Properties() props.load(new FileInputStream(new File(project.rootDir, "retroarch.properties"))) props.each { prop -> project.ext.set(prop.key, prop.value) } } apply plugin: 'com.android.application' android { compileSdkVersion 28 buildToolsVersion "28.0.3" flavorDimensions "variant" defaultConfig { minSdkVersion 16 externalNativeBuild { ndkBuild { arguments "-j${Runtime.runtime.availableProcessors()}" } } targetSdkVersion 28 } productFlavors { normal { resValue "string", "app_name", "RetroArch" buildConfigField "boolean", "PLAY_STORE_BUILD", "false" dimension "variant" } aarch64 { applicationIdSuffix '.aarch64' resValue "string", "app_name", "RetroArch (AArch64)" buildConfigField "boolean", "PLAY_STORE_BUILD", "false" dimension "variant" ndk { abiFilters 'arm64-v8a', 'x86_64' } } ra32 { applicationIdSuffix '.ra32' resValue "string", "app_name", "RetroArch (32-bit)" buildConfigField "boolean", "PLAY_STORE_BUILD", "false" dimension "variant" ndk { abiFilters 'armeabi-v7a', 'x86' } } playStoreNormal { resValue "string", "app_name", "RetroArch" buildConfigField "boolean", "PLAY_STORE_BUILD", "true" dimension "variant" } playStoreAarch64 { applicationIdSuffix '.aarch64' resValue "string", "app_name", "RetroArch (AArch64)" buildConfigField "boolean", "PLAY_STORE_BUILD", "true" dimension "variant" ndk { abiFilters 'arm64-v8a', 'x86_64' } } } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' assets.srcDirs = ['assets'] java.srcDirs = ['src', '../phoenix-common/src'] jniLibs.srcDir '../phoenix-common/libs' jni.srcDirs = [] res.srcDirs = ['res', '../phoenix-common/res'] } aarch64 { res.srcDirs = ['res', 'res64'] } } externalNativeBuild { ndkBuild { path '../phoenix-common/jni/Android.mk' } } signingConfigs { if (project.hasProperty("RELEASE_STORE_FILE")) { release { storeFile file(RELEASE_STORE_FILE) storePassword RELEASE_STORE_PASSWORD keyAlias RELEASE_KEY_ALIAS keyPassword RELEASE_KEY_PASSWORD } } } buildTypes { if (project.hasProperty("RELEASE_STORE_FILE")) { release { signingConfig signingConfigs.release } } else { release { signingConfig signingConfigs.debug } } } } dependencies { implementation 'com.google.android.play:core:1.8.0' } def dynamicFeatures = file("dynamic_features.gradle") if(dynamicFeatures.exists()) { apply from: "dynamic_features.gradle" }