apply plugin: 'com.android.application' // Create a variable called keystorePropertiesFile, and initialize it to your // keystore.properties file, in the rootProject folder. def keystorePropertiesFile = rootProject.file("keystore.properties") def keystoreProperties = new Properties() def canSign = false if (keystorePropertiesFile.exists()) { canSign = true println("The release flavor will signed in the folder app/build/outputs/apk/release/") // Load your keystore.properties file into the keystoreProperties object. keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) } else { println(""" The keystore.properties file is not found, so, you will not be able to install an unsigned APK in an Android device. Please, in the root folder, create a keystore.jks file with the command: keytool -genkey -keystore ./keystore.jks -keyalg RSA -validity 9125 -alias key0 and create the file ./keystore.properties , with the following properties: storeFile=../keystore.jks storePassword=myPassword keyAlias=key0 keyPassword=myPassword """) } android { namespace 'org.emulator.forty.eight' compileSdk 34 defaultConfig { applicationId "org.emulator.forty.eight" minSdk 21 targetSdk 34 versionCode 27 versionName "2.8" setProperty("archivesBaseName", "Emu48-v$versionName") testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { cppFlags '-std=c++11 -fpermissive -Wno-error=incompatible-pointer-types' } } } if (canSign) { signingConfigs { release { storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] v1SigningEnabled true v2SigningEnabled false } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' if (canSign) { signingConfig signingConfigs.release } ndk { debugSymbolLevel 'FULL' // { SYMBOL_TABLE | FULL } } } } compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } externalNativeBuild { cmake { path file('CMakeLists.txt') } } ndkVersion '25.1.8937393' } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.7.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'com.google.android.material:material:1.12.0' implementation 'androidx.preference:preference:1.2.1' implementation 'androidx.documentfile:documentfile:1.0.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test:runner:1.6.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' }