adapt android build

This commit is contained in:
tk 2025-08-17 05:09:47 +02:00
parent eb5264a553
commit fd77a38f97
4 changed files with 49 additions and 11 deletions

View file

@ -44,6 +44,7 @@ app.*.map.json
/android/app/debug /android/app/debug
/android/app/profile /android/app/profile
/android/app/release /android/app/release
android/key.properties
.env .env

View file

@ -1,29 +1,48 @@
import java.util.Properties
import java.io.FileInputStream
plugins { plugins {
id("com.android.application") id("com.android.application")
id("kotlin-android") id("kotlin-android")
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id("dev.flutter.flutter-gradle-plugin") id("dev.flutter.flutter-gradle-plugin")
} }
dependencies {
implementation("com.google.android.play:core:1.10.3")
}
val keystoreProperties = Properties()
val keystorePropertiesFile = rootProject.file("key.properties")
if (keystorePropertiesFile.exists()) {
FileInputStream(keystorePropertiesFile).use { keystoreProperties.load(it) }
}
android { android {
namespace = "com.wien_talks" namespace = "com.wien_talks"
compileSdk = flutter.compileSdkVersion compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion ndkVersion = flutter.ndkVersion
compileOptions { compileOptions {
sourceCompatibility = JavaVersion.VERSION_11 sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_17
} }
kotlinOptions { jvmTarget = "17" }
kotlinOptions { signingConfigs {
jvmTarget = JavaVersion.VERSION_11.toString() if (keystorePropertiesFile.exists()) {
create("release") {
keyAlias = keystoreProperties["keyAlias"] as String
keyPassword = keystoreProperties["keyPassword"] as String
val storePath = keystoreProperties["storeFile"] as String?
storeFile = storePath?.let { file(it) }
storePassword = keystoreProperties["storePassword"] as String
}
}
} }
defaultConfig { defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.wien_talks" applicationId = "com.wien_talks"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion minSdk = flutter.minSdkVersion
targetSdk = flutter.targetSdkVersion targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode versionCode = flutter.versionCode
@ -32,9 +51,18 @@ android {
buildTypes { buildTypes {
release { release {
// TODO: Add your own signing config for the release build. signingConfig = signingConfigs.findByName("release")
// Signing with the debug keys for now, so `flutter run --release` works. ?: signingConfigs.getByName("debug")
signingConfig = signingConfigs.getByName("debug")
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
debug {
} }
} }
} }

View file

@ -0,0 +1,8 @@
-keep class io.flutter.embedding.** { *; }
-keep class io.flutter.plugins.** { *; }
-keep class io.flutter.** { *; }
-keep class com.google.android.gms.** { *; }
-dontwarn com.google.android.gms.**
-dontwarn kotlinx.coroutines.**

View file

@ -105,6 +105,7 @@ class _LatestQuotesScreenState extends State<LatestQuotesScreen> {
return LayoutBuilder( return LayoutBuilder(
builder: (context, constraints) { builder: (context, constraints) {
return MasonryGridView.count( return MasonryGridView.count(
cacheExtent: 20,
crossAxisCount: 2, crossAxisCount: 2,
mainAxisSpacing: 8, mainAxisSpacing: 8,
crossAxisSpacing: 8, crossAxisSpacing: 8,