mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 05:47:56 -07:00
82e9c1c68a
This reduces the build time for incremental builds from about 2 minutes to about 20 seconds. Most people never run the unit tests on Android anyway (I'm not aware of anyone other than me ever having done it).
134 lines
4.0 KiB
Groovy
134 lines
4.0 KiB
Groovy
apply plugin: 'com.android.application'
|
|
|
|
android {
|
|
compileSdkVersion 30
|
|
|
|
compileOptions {
|
|
// Flag to enable support for the new language APIs
|
|
coreLibraryDesugaringEnabled true
|
|
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
lintOptions {
|
|
// This is important as it will run lint but not abort on error
|
|
// Lint has some overly obnoxious "errors" that should really be warnings
|
|
abortOnError false
|
|
|
|
//Uncomment disable lines for test builds...
|
|
//disable 'MissingTranslation'
|
|
//disable 'ExtraTranslation'
|
|
}
|
|
|
|
defaultConfig {
|
|
// TODO If this is ever modified, change application_id in strings.xml
|
|
applicationId "org.dolphinemu.dolphinemu"
|
|
minSdkVersion 21
|
|
targetSdkVersion 29
|
|
|
|
versionCode(getBuildVersionCode())
|
|
|
|
versionName "${getVersion()}"
|
|
}
|
|
|
|
signingConfigs {
|
|
release {
|
|
if (project.hasProperty('keystore')) {
|
|
storeFile file(project.property('keystore'))
|
|
storePassword project.property('storepass')
|
|
keyAlias project.property('keyalias')
|
|
keyPassword project.property('keypass')
|
|
}
|
|
}
|
|
}
|
|
|
|
// Define build types, which are orthogonal to product flavors.
|
|
buildTypes {
|
|
// Signed by release key, allowing for upload to Play Store.
|
|
release {
|
|
signingConfig signingConfigs.release
|
|
}
|
|
|
|
// Signed by debug key disallowing distribution on Play Store.
|
|
// Attaches 'debug' suffix to version and package name, allowing installation alongside the release build.
|
|
debug {
|
|
// TODO If this is ever modified, change application_id in debug/strings.xml
|
|
applicationIdSuffix ".debug"
|
|
versionNameSuffix '-debug'
|
|
jniDebuggable true
|
|
}
|
|
}
|
|
|
|
externalNativeBuild {
|
|
cmake {
|
|
path "../../../CMakeLists.txt"
|
|
version "3.10.2"
|
|
}
|
|
}
|
|
|
|
defaultConfig {
|
|
externalNativeBuild {
|
|
cmake {
|
|
arguments "-DANDROID_STL=c++_static", "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
|
|
// , "-DENABLE_GENERIC=ON"
|
|
abiFilters "arm64-v8a", "x86_64" //, "armeabi-v7a", "x86"
|
|
|
|
// Remove the line below if you want to build the C++ unit tests
|
|
targets "main"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
|
|
|
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
|
implementation 'androidx.exifinterface:exifinterface:1.3.2'
|
|
implementation 'androidx.cardview:cardview:1.0.0'
|
|
implementation 'androidx.recyclerview:recyclerview:1.2.0'
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
|
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.3.1'
|
|
implementation 'com.google.android.material:material:1.3.0'
|
|
|
|
// Android TV UI libraries.
|
|
implementation 'androidx.leanback:leanback:1.0.0'
|
|
implementation 'androidx.tvprovider:tvprovider:1.0.0'
|
|
|
|
// For REST calls
|
|
implementation 'com.android.volley:volley:1.2.0'
|
|
|
|
// For loading huge screenshots from the disk.
|
|
implementation 'com.squareup.picasso:picasso:2.71828'
|
|
|
|
implementation 'com.nononsenseapps:filepicker:4.2.1'
|
|
}
|
|
|
|
def getVersion() {
|
|
def versionNumber = '0.0'
|
|
|
|
try {
|
|
versionNumber = 'git describe --always --long'.execute([], project.rootDir).text
|
|
.trim()
|
|
.replaceAll(/(-0)?-[^-]+$/, "")
|
|
} catch (Exception e) {
|
|
logger.error(e + ': Cannot find git, defaulting to dummy version number')
|
|
}
|
|
|
|
return versionNumber
|
|
}
|
|
|
|
|
|
def getBuildVersionCode() {
|
|
try {
|
|
def versionNumber = 'git rev-list --first-parent --count HEAD'.execute([], project.rootDir).text
|
|
.trim()
|
|
return Integer.valueOf(versionNumber)
|
|
} catch (Exception e) {
|
|
logger.error(e + ': Cannot find git, defaulting to dummy version number')
|
|
}
|
|
|
|
return 1
|
|
}
|