| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- plugins {
- id 'com.android.application'
- id 'org.jetbrains.kotlin.android'
- }
- /**
- * Use the number of seconds/10 since Jan 1 2016 as the versionCode.
- * This lets us upload a new build at most every 10 seconds for the
- * next 680 years.
- */
- def autoVersion = (int) (((new Date().getTime() / 1000) - 1451606400) / 10)
- def buildType
- android {
- namespace 'org.yuzu.yuzu_emu'
- compileSdkVersion 33
- ndkVersion "25.2.9519653"
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_11
- targetCompatibility JavaVersion.VERSION_11
- }
- kotlinOptions {
- jvmTarget = '11'
- }
- lint {
- // 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'bin
- //disable 'ExtraTranslation'
- }
- defaultConfig {
- // TODO If this is ever modified, change application_id in strings.xml
- applicationId "org.yuzu.yuzu_emu"
- minSdkVersion 28
- targetSdkVersion 33
- versionCode autoVersion
- versionName getVersion()
- ndk.abiFilters "arm64-v8a", "x86_64"
- }
- signingConfigs {
- //release {
- // storeFile file('')
- // storePassword System.getenv('ANDROID_KEYPASS')
- // keyAlias = 'key0'
- // keyPassword System.getenv('ANDROID_KEYPASS')
- //}
- }
- applicationVariants.all { variant ->
- buildType = variant.buildType.name // sets the current build type
- }
- // Define build types, which are orthogonal to product flavors.
- buildTypes {
- // Signed by release key, allowing for upload to Play Store.
- release {
- signingConfig signingConfigs.debug
- }
- // builds a release build that doesn't need signing
- // Attaches 'debug' suffix to version and package name, allowing installation alongside the release build.
- relWithDebInfo {
- initWith release
- versionNameSuffix '-debug'
- signingConfig signingConfigs.debug
- minifyEnabled false
- testCoverageEnabled false
- debuggable true
- jniDebuggable true
- }
- // 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
- versionNameSuffix '-debug'
- debuggable true
- jniDebuggable true
- }
- }
- flavorDimensions "version"
- productFlavors {
- mainline {
- dimension "version"
- }
- }
- externalNativeBuild {
- cmake {
- version "3.22.1"
- path "../../../CMakeLists.txt"
- }
- }
- defaultConfig {
- externalNativeBuild {
- cmake {
- arguments "-DENABLE_QT=0", // Don't use QT
- "-DENABLE_SDL2=0", // Don't use SDL
- "-DENABLE_WEB_SERVICE=0", // Don't use telemetry
- "-DBUNDLE_SPEEX=ON",
- "-DANDROID_ARM_NEON=true", // cryptopp requires Neon to work
- "-DYUZU_USE_BUNDLED_VCPKG=ON",
- "-DYUZU_USE_BUNDLED_FFMPEG=ON"
- abiFilters "arm64-v8a", "x86_64"
- }
- }
- }
- }
- dependencies {
- implementation 'androidx.core:core-ktx:1.9.0'
- implementation 'androidx.appcompat:appcompat:1.6.1'
- implementation 'androidx.exifinterface:exifinterface:1.3.6'
- implementation 'androidx.cardview:cardview:1.0.0'
- implementation 'androidx.recyclerview:recyclerview:1.2.1'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
- implementation 'androidx.lifecycle:lifecycle-viewmodel:2.5.1'
- implementation 'androidx.fragment:fragment:1.5.5'
- implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0"
- implementation "androidx.documentfile:documentfile:1.0.1"
- implementation 'com.google.android.material:material:1.8.0'
- implementation 'androidx.preference:preference:1.2.0'
- implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
- implementation "io.coil-kt:coil:2.2.2"
- implementation 'androidx.core:core-splashscreen:1.0.0'
- // Allows FRP-style asynchronous operations in Android.
- implementation 'io.reactivex:rxandroid:1.2.1'
- implementation 'com.nononsenseapps:filepicker:4.2.1'
- implementation 'org.ini4j:ini4j:0.5.4'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
- implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
- implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
- }
- def getVersion() {
- def versionName = '0.0'
- try {
- versionName = 'git describe --always --long'.execute([], project.rootDir).text
- .trim()
- .replaceAll(/(-0)?-[^-]+$/, "")
- } catch (Exception) {
- logger.error('Cannot find git, defaulting to dummy version number')
- }
- if (System.getenv("GITHUB_ACTIONS") != null) {
- def gitTag = System.getenv("GIT_TAG_NAME")
- versionName = gitTag ?: versionName
- }
- return versionName
- }
|