xenia-canary/android/android_studio_project/app/build.gradle

92 lines
2.7 KiB
Groovy

plugins {
id 'com.android.application'
}
android {
compileSdkVersion 33
ndkVersion '25.0.8775105'
defaultConfig {
applicationId 'jp.xenia.emulator'
// 24 (7.0) - Vulkan.
minSdkVersion 24
targetSdkVersion 33
versionCode 1
versionName 'Prototype'
externalNativeBuild {
ndkBuild {
arguments 'NDK_APPLICATION_MK:=../../../build/xenia.Application.mk',
'PREMAKE_ANDROIDNDK_PLATFORMS:=Android-ARM64',
'PREMAKE_ANDROIDNDK_PLATFORMS+=Android-x86_64',
// ndk.jobs doesn't work as of Gradle 7.1.0.
"-j${Runtime.runtime.availableProcessors()}",
// Work around "Bad file descriptor" on Windows on NDK r22+.
'--output-sync=none'
// For the app, don't build the executables designed for running from a terminal.
// To build the executables, run ndk-build manually.
targets 'xenia-app'
}
}
ndk {
abiFilters 'arm64-v8a', 'x86_64'
stl 'c++_static'
}
}
buildTypes {
release {
externalNativeBuild {
ndkBuild {
arguments 'PREMAKE_ANDROIDNDK_CONFIGURATIONS:=Release'
}
}
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix '.debug'
debuggable true
externalNativeBuild {
ndkBuild {
arguments 'PREMAKE_ANDROIDNDK_CONFIGURATIONS:=Debug'
}
}
}
checked {
applicationIdSuffix '.checked'
debuggable true
externalNativeBuild {
ndkBuild {
arguments 'PREMAKE_ANDROIDNDK_CONFIGURATIONS:=Checked'
}
}
}
}
flavorDimensions 'distribution'
productFlavors {
github {
dimension 'distribution'
applicationIdSuffix '.github'
}
googlePlay {
dimension 'distribution'
// TODO(Triang3l): Provide a signing config for core contributors only.
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
externalNativeBuild {
ndkBuild {
path file('../../../build/xenia.wks.Android.mk')
}
}
}
dependencies {
implementation 'org.jetbrains:annotations:15.0'
}