From ab87f7499831b89ebc8e921f7ed9448fd8e6b49a Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Wed, 19 Apr 2023 00:53:59 -0400 Subject: android: Convert gradle scripts to Kotlin DSL --- src/android/app/build.gradle.kts | 227 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 227 insertions(+) create mode 100644 src/android/app/build.gradle.kts (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts new file mode 100644 index 000000000..e2b53c7bd --- /dev/null +++ b/src/android/app/build.gradle.kts @@ -0,0 +1,227 @@ +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") + id("kotlin-parcelize") +} + +/** + * 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. + */ +val autoVersion = (((System.currentTimeMillis() / 1000) - 1451606400) / 10).toInt() +var buildType = "" + +@Suppress("UnstableApiUsage") +android { + namespace = "org.yuzu.yuzu_emu" + + compileSdkVersion = "android-33" + ndkVersion = "25.2.9519653" + + buildFeatures { + viewBinding = true + } + + 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" + minSdk = 28 + targetSdk = 33 + versionCode = autoVersion + versionName = getVersion() + + ndk { + abiFilters += listOf("arm64-v8a", "x86_64") + } + + buildConfigField("String", "GIT_HASH", "\"${getGitHash()}\"") + buildConfigField("String", "BRANCH", "\"${getBranch()}\"") + } + + 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 + true + } + + // Define build types, which are orthogonal to product flavors. + buildTypes { + + // Signed by release key, allowing for upload to Play Store. + release { + signingConfig = signingConfigs.getByName("debug") + } + + // builds a release build that doesn't need signing + // Attaches 'debug' suffix to version and package name, allowing installation alongside the release build. + register("relWithDebInfo") { + initWith(getByName("release")) + versionNameSuffix = "-debug" + signingConfig = signingConfigs.getByName("debug") + isMinifyEnabled = false + enableAndroidTestCoverage = false + isDebuggable = true + isJniDebuggable = 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" + isDebuggable = true + isJniDebuggable = true + } + } + + flavorDimensions.add("version") + productFlavors { + create("mainline") { + dimension = "version" + } + } + + externalNativeBuild { + cmake { + version = "3.22.1" + path = file("../../../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") + implementation("androidx.window:window:1.0.0") + implementation("org.ini4j:ini4j:0.5.4") + implementation("androidx.constraintlayout:constraintlayout:2.1.4") + implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0") +} + +fun getVersion(): String { + var versionName = "0.0" + + try { + versionName = ProcessBuilder("git", "describe", "--always", "--long") + .directory(project.rootDir) + .redirectOutput(ProcessBuilder.Redirect.PIPE) + .redirectError(ProcessBuilder.Redirect.PIPE) + .start().inputStream.bufferedReader().use { it.readText() } + .trim() + .replace(Regex("(-0)?-[^-]+$"), "") + } catch (e: Exception) { + logger.error("Cannot find git, defaulting to dummy version number") + } + + if (System.getenv("GITHUB_ACTIONS") != null) { + val gitTag = System.getenv("GIT_TAG_NAME") + versionName = gitTag ?: versionName + } + + return versionName +} + +fun getGitHash(): String { + try { + val processBuilder = ProcessBuilder("git", "rev-parse", "HEAD") + processBuilder.directory(project.rootDir) + val process = processBuilder.start() + val inputStream = process.inputStream + val errorStream = process.errorStream + process.waitFor() + + return if (process.exitValue() == 0) { + inputStream.bufferedReader() + .use { it.readText().trim() } // return the value of gitHash + } else { + val errorMessage = errorStream.bufferedReader().use { it.readText().trim() } + logger.error("Error running git command: $errorMessage") + "dummy-hash" // return a dummy hash value in case of an error + } + } catch (e: Exception) { + logger.error("$e: Cannot find git, defaulting to dummy build hash") + return "dummy-hash" // return a dummy hash value in case of an error + } +} + +fun getBranch(): String { + try { + val processBuilder = ProcessBuilder("git", "rev-parse", "--abbrev-ref", "HEAD") + processBuilder.directory(project.rootDir) + val process = processBuilder.start() + val inputStream = process.inputStream + val errorStream = process.errorStream + process.waitFor() + + return if (process.exitValue() == 0) { + inputStream.bufferedReader() + .use { it.readText().trim() } // return the value of gitHash + } else { + val errorMessage = errorStream.bufferedReader().use { it.readText().trim() } + logger.error("Error running git command: $errorMessage") + "dummy-hash" // return a dummy hash value in case of an error + } + } catch (e: Exception) { + logger.error("$e: Cannot find git, defaulting to dummy build hash") + return "dummy-hash" // return a dummy hash value in case of an error + } +} -- cgit v1.2.3 From b1ebc1c3953f317098ee8f8180be2635bc1daa9c Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Wed, 19 Apr 2023 00:57:20 -0400 Subject: android: Update app dependencies --- src/android/app/build.gradle.kts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index e2b53c7bd..552d4a721 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -136,19 +136,19 @@ android { } dependencies { - implementation("androidx.core:core-ktx:1.9.0") + implementation("androidx.core:core-ktx:1.10.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.recyclerview:recyclerview:1.3.0") implementation("androidx.constraintlayout:constraintlayout:2.1.4") - implementation("androidx.lifecycle:lifecycle-viewmodel:2.5.1") - implementation("androidx.fragment:fragment:1.5.5") + implementation("androidx.lifecycle:lifecycle-viewmodel:2.6.1") + implementation("androidx.fragment:fragment:1.5.6") 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("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1") implementation("io.coil-kt:coil:2.2.2") implementation("androidx.core:core-splashscreen:1.0.0") implementation("androidx.window:window:1.0.0") -- cgit v1.2.3 From 233ae9ab691f2e6fe65d97fdd58b2ac6e015ad38 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Wed, 5 Apr 2023 20:26:53 -0400 Subject: android: MainActivity overhaul This moves several parts of the main activity into fragments that manage themselves to react to changes. UI changes like the appearance of a new search view or when the games list changes now gets updated via multiple view models. This also starts a conversion to the androidx navigation component which furthers the goals mentioned previously with more fragment responsibility. This will eventually allow us to use one activity with interchanging fragments and multiple view models that are stored within that central activity. fdas --- src/android/app/build.gradle.kts | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 552d4a721..d8ef02ac1 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -155,6 +155,9 @@ dependencies { implementation("org.ini4j:ini4j:0.5.4") implementation("androidx.constraintlayout:constraintlayout:2.1.4") implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0") + implementation("androidx.navigation:navigation-fragment-ktx:2.5.3") + implementation("androidx.navigation:navigation-ui-ktx:2.5.3") + implementation("info.debatty:java-string-similarity:2.0.0") } fun getVersion(): String { -- cgit v1.2.3 From d57ae50f17a6b2ed12e188cd3764c506dcc86b74 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Sat, 15 Apr 2023 00:09:30 -0400 Subject: android: Enable code minification --- src/android/app/build.gradle.kts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index d8ef02ac1..bf6d42042 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -78,6 +78,12 @@ android { // Signed by release key, allowing for upload to Play Store. release { signingConfig = signingConfigs.getByName("debug") + isMinifyEnabled = true + isDebuggable = false + proguardFiles( + getDefaultProguardFile("proguard-android.txt"), + "proguard-rules.pro" + ) } // builds a release build that doesn't need signing @@ -86,7 +92,6 @@ android { initWith(getByName("release")) versionNameSuffix = "-debug" signingConfig = signingConfigs.getByName("debug") - isMinifyEnabled = false enableAndroidTestCoverage = false isDebuggable = true isJniDebuggable = true -- cgit v1.2.3 From f5c48f92f26d6a2fe7b2c495fdc6b88c16a5f2dc Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Wed, 19 Apr 2023 13:37:09 -0400 Subject: android: Bump minimum version to Android 11 --- src/android/app/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index bf6d42042..ec5596d75 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -45,7 +45,7 @@ android { defaultConfig { // TODO If this is ever modified, change application_id in strings.xml applicationId = "org.yuzu.yuzu_emu" - minSdk = 28 + minSdk = 30 targetSdk = 33 versionCode = autoVersion versionName = getVersion() -- cgit v1.2.3 From 8b4c5a9939645dc6ae275a31f73bb7fe8a850895 Mon Sep 17 00:00:00 2001 From: Liam Date: Mon, 24 Apr 2023 11:18:13 -0400 Subject: android: enable LTO --- src/android/app/build.gradle.kts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index ec5596d75..474a3486d 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -131,7 +131,8 @@ android { "-DBUNDLE_SPEEX=ON", "-DANDROID_ARM_NEON=true", // cryptopp requires Neon to work "-DYUZU_USE_BUNDLED_VCPKG=ON", - "-DYUZU_USE_BUNDLED_FFMPEG=ON" + "-DYUZU_USE_BUNDLED_FFMPEG=ON", + "-DYUZU_ENABLE_LTO=ON" ) abiFilters("arm64-v8a", "x86_64") -- cgit v1.2.3 From 61e0042633952a6c5d63a1d658a8a3c89e7c4ae9 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Wed, 26 Apr 2023 13:59:54 -0400 Subject: android: Temporarily switch for a fixed version code for testing --- src/android/app/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 474a3486d..e765720b1 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -47,7 +47,7 @@ android { applicationId = "org.yuzu.yuzu_emu" minSdk = 30 targetSdk = 33 - versionCode = autoVersion + versionCode = 1 versionName = getVersion() ndk { -- cgit v1.2.3 From f461465a921fa406766258996c21d7d47db403d0 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Mon, 1 May 2023 16:58:33 -0400 Subject: android: Use short build hash --- src/android/app/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index e765720b1..379adb08c 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -191,7 +191,7 @@ fun getVersion(): String { fun getGitHash(): String { try { - val processBuilder = ProcessBuilder("git", "rev-parse", "HEAD") + val processBuilder = ProcessBuilder("git", "rev-parse", "--short", "HEAD") processBuilder.directory(project.rootDir) val process = processBuilder.start() val inputStream = process.inputStream -- cgit v1.2.3 From 56d3711e349bfb74fbb9a8cb09a5f6c9cb6b5036 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Thu, 4 May 2023 04:07:44 -0400 Subject: android: Migrate to AGP 8.0.1 --- src/android/app/build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 379adb08c..3d9635049 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -24,12 +24,12 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = "11" + jvmTarget = "17" } lint { -- cgit v1.2.3 From d8bacdfc14c065ad381ebd2d728742712984805c Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Thu, 4 May 2023 04:13:16 -0400 Subject: android: Update dependencies --- src/android/app/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 3d9635049..ea13b6d0e 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -149,14 +149,14 @@ dependencies { implementation("androidx.recyclerview:recyclerview:1.3.0") implementation("androidx.constraintlayout:constraintlayout:2.1.4") implementation("androidx.lifecycle:lifecycle-viewmodel:2.6.1") - implementation("androidx.fragment:fragment:1.5.6") + implementation("androidx.fragment:fragment:1.5.7") 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.6.1") implementation("io.coil-kt:coil:2.2.2") - implementation("androidx.core:core-splashscreen:1.0.0") + implementation("androidx.core:core-splashscreen:1.0.1") implementation("androidx.window:window:1.0.0") implementation("org.ini4j:ini4j:0.5.4") implementation("androidx.constraintlayout:constraintlayout:2.1.4") -- cgit v1.2.3 From 65dc35a1a5484f5e7b9a0770fa5b536782a87fbe Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Tue, 2 May 2023 05:58:03 -0400 Subject: android: Game data cache --- src/android/app/build.gradle.kts | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index ea13b6d0e..a9790b200 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -2,6 +2,7 @@ plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id("kotlin-parcelize") + kotlin("plugin.serialization") version "1.8.21" } /** @@ -164,6 +165,7 @@ dependencies { implementation("androidx.navigation:navigation-fragment-ktx:2.5.3") implementation("androidx.navigation:navigation-ui-ktx:2.5.3") implementation("info.debatty:java-string-similarity:2.0.0") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0") } fun getVersion(): String { -- cgit v1.2.3 From f69bc78dc56eaf2a6e33f0bcee1ba1dd812fd9b4 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Mon, 8 May 2023 04:49:32 -0400 Subject: android: Add early access upgrade fragment We now have a second build flavor that will determine whether the "Get Early Access" button appears. --- src/android/app/build.gradle.kts | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index a9790b200..8c970609f 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -112,6 +112,12 @@ android { productFlavors { create("mainline") { dimension = "version" + buildConfigField("Boolean", "PREMIUM", "false") + } + + create("ea") { + dimension = "version" + buildConfigField("Boolean", "PREMIUM", "true") } } -- cgit v1.2.3 From 2289f7ad1536cdb44ae02c25d1c6ed85d7567e2e Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Sat, 13 May 2023 12:39:28 -0400 Subject: android: Fix issues with ea/main icons and version codes Now all yuzu icon variants are taken care of and now we have a build variant that uses the versioning we need for the play store. --- src/android/app/build.gradle.kts | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 8c970609f..f0a4dbd5a 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -48,7 +48,6 @@ android { applicationId = "org.yuzu.yuzu_emu" minSdk = 30 targetSdk = 33 - versionCode = 1 versionName = getVersion() ndk { @@ -85,26 +84,39 @@ android { getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" ) + defaultConfig.versionCode = 1 + } + + register("relWithVersionCode") { + signingConfig = signingConfigs.getByName("debug") + isMinifyEnabled = true + isDebuggable = false + proguardFiles( + getDefaultProguardFile("proguard-android.txt"), + "proguard-rules.pro" + ) + defaultConfig.versionCode = autoVersion } // builds a release build that doesn't need signing // Attaches 'debug' suffix to version and package name, allowing installation alongside the release build. register("relWithDebInfo") { - initWith(getByName("release")) - versionNameSuffix = "-debug" signingConfig = signingConfigs.getByName("debug") - enableAndroidTestCoverage = false + isMinifyEnabled = true isDebuggable = true + versionNameSuffix = "-debug" + enableAndroidTestCoverage = false isJniDebuggable = true + defaultConfig.versionCode = 1 } // 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" isDebuggable = true isJniDebuggable = true + versionNameSuffix = "-debug" + defaultConfig.versionCode = 1 } } @@ -118,6 +130,7 @@ android { create("ea") { dimension = "version" buildConfigField("Boolean", "PREMIUM", "true") + applicationIdSuffix = ".ea" } } -- cgit v1.2.3 From 0f06e73a7cef8dec9412fa309eeabfe46d5ec330 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Mon, 15 May 2023 17:37:09 -0400 Subject: android: Use proguard file in relWithDebInfo --- src/android/app/build.gradle.kts | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index f0a4dbd5a..f37d6b9f7 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -104,6 +104,10 @@ android { signingConfig = signingConfigs.getByName("debug") isMinifyEnabled = true isDebuggable = true + proguardFiles( + getDefaultProguardFile("proguard-android.txt"), + "proguard-rules.pro" + ) versionNameSuffix = "-debug" enableAndroidTestCoverage = false isJniDebuggable = true -- cgit v1.2.3 From c11c5b2eb759e718bc3de2a328d6cf654d82fdf9 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Mon, 22 May 2023 18:00:34 -0400 Subject: android: Clean up dependencies Additionally updates material and androidx core libraries --- src/android/app/build.gradle.kts | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index f37d6b9f7..1be1c974d 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -166,17 +166,13 @@ android { } dependencies { - implementation("androidx.core:core-ktx:1.10.0") + implementation("androidx.core:core-ktx:1.10.1") 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.3.0") implementation("androidx.constraintlayout:constraintlayout:2.1.4") - implementation("androidx.lifecycle:lifecycle-viewmodel:2.6.1") - implementation("androidx.fragment:fragment:1.5.7") - implementation("androidx.slidingpanelayout:slidingpanelayout:1.2.0") + implementation("androidx.fragment:fragment-ktx:1.5.7") implementation("androidx.documentfile:documentfile:1.0.1") - implementation("com.google.android.material:material:1.8.0") + implementation("com.google.android.material:material:1.9.0") implementation("androidx.preference:preference:1.2.0") implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1") implementation("io.coil-kt:coil:2.2.2") -- cgit v1.2.3 From 8426e97f45073f795f97944f483a14b144c99683 Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Sat, 27 May 2023 17:13:46 -0400 Subject: android: Clean up app build.gradle Removes the conflicting declaration of "version" and changes to versionCode that did nothing. --- src/android/app/build.gradle.kts | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 1be1c974d..9121ee7e1 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -11,7 +11,6 @@ plugins { * next 680 years. */ val autoVersion = (((System.currentTimeMillis() / 1000) - 1451606400) / 10).toInt() -var buildType = "" @Suppress("UnstableApiUsage") android { @@ -48,7 +47,7 @@ android { applicationId = "org.yuzu.yuzu_emu" minSdk = 30 targetSdk = 33 - versionName = getVersion() + versionName = getGitVersion() ndk { abiFilters += listOf("arm64-v8a", "x86_64") @@ -58,20 +57,6 @@ android { buildConfigField("String", "BRANCH", "\"${getBranch()}\"") } - 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 - true - } - // Define build types, which are orthogonal to product flavors. buildTypes { @@ -84,7 +69,6 @@ android { getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" ) - defaultConfig.versionCode = 1 } register("relWithVersionCode") { @@ -95,7 +79,6 @@ android { getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" ) - defaultConfig.versionCode = autoVersion } // builds a release build that doesn't need signing @@ -109,9 +92,7 @@ android { "proguard-rules.pro" ) versionNameSuffix = "-debug" - enableAndroidTestCoverage = false isJniDebuggable = true - defaultConfig.versionCode = 1 } // Signed by debug key disallowing distribution on Play Store. @@ -120,7 +101,6 @@ android { isDebuggable = true isJniDebuggable = true versionNameSuffix = "-debug" - defaultConfig.versionCode = 1 } } @@ -187,7 +167,7 @@ dependencies { implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0") } -fun getVersion(): String { +fun getGitVersion(): String { var versionName = "0.0" try { -- cgit v1.2.3 From 0cbae3379067b657cce3bec6184bca31806363cf Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Sun, 28 May 2023 20:24:48 -0400 Subject: android: Stop building x86 packages in APKs This was really only meant for building the app to run in an emulator. If this is necessary, just add manually. --- src/android/app/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 9121ee7e1..21ebfa4fc 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -50,7 +50,7 @@ android { versionName = getGitVersion() ndk { - abiFilters += listOf("arm64-v8a", "x86_64") + abiFilters += listOf("arm64-v8a") } buildConfigField("String", "GIT_HASH", "\"${getGitHash()}\"") -- cgit v1.2.3 From 17b5ed9baf44e81c81c29c63e5ae4a91c558c5df Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 29 May 2023 16:05:39 -0700 Subject: android: externals: Update libadrenotools, use useLegacyPackaging. --- src/android/app/build.gradle.kts | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 21ebfa4fc..4aa19c91a 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -32,6 +32,11 @@ android { jvmTarget = "17" } + packagingOptions { + // This is necessary for libadrenotools custom driver loading + jniLibs.useLegacyPackaging = true + } + 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 -- cgit v1.2.3 From ee8caac82f8276dd6585042850c76373dd36ed69 Mon Sep 17 00:00:00 2001 From: bunnei Date: Tue, 30 May 2023 20:50:09 -0700 Subject: android: Various fixes for CI. --- src/android/app/build.gradle.kts | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 4aa19c91a..ec5f78746 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: 2023 yuzu Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + plugins { id("com.android.application") id("org.jetbrains.kotlin.android") -- cgit v1.2.3 From 00a391ce1058ecee7e22afa05c7d77cd82206e17 Mon Sep 17 00:00:00 2001 From: Abandoned Cart Date: Sun, 4 Jun 2023 02:06:38 -0400 Subject: android: Resolve a couple Gradle warnings --- src/android/app/build.gradle.kts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/android/app/build.gradle.kts') diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index ec5f78746..06f22fabe 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -1,6 +1,8 @@ // SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later +import android.annotation.SuppressLint + plugins { id("com.android.application") id("org.jetbrains.kotlin.android") @@ -35,7 +37,7 @@ android { jvmTarget = "17" } - packagingOptions { + packaging { // This is necessary for libadrenotools custom driver loading jniLibs.useLegacyPackaging = true } @@ -58,6 +60,7 @@ android { versionName = getGitVersion() ndk { + @SuppressLint("ChromeOsAbiSupport") abiFilters += listOf("arm64-v8a") } -- cgit v1.2.3