mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 05:47:56 -07:00
a427eafa7b
Just for maintainability. This is a shorter and more standard solution compared to our current one where the Fragment persists the Settings and passes it to the Activity.
126 lines
3.7 KiB
Groovy
126 lines
3.7 KiB
Groovy
apply plugin: 'com.android.application'
|
|
|
|
android {
|
|
compileSdkVersion 30
|
|
|
|
compileOptions {
|
|
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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'androidx.appcompat:appcompat:1.1.0'
|
|
implementation 'androidx.exifinterface:exifinterface:1.1.0'
|
|
implementation 'androidx.cardview:cardview:1.0.0'
|
|
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
|
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
|
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.2.0'
|
|
implementation 'com.google.android.material:material:1.1.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.1.1'
|
|
|
|
// 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('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('Cannot find git, defaulting to dummy version number')
|
|
}
|
|
|
|
return 1;
|
|
}
|