build.gradle.kts 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. plugins {
  2. id("com.android.application")
  3. id("org.jetbrains.kotlin.android")
  4. id("rust")
  5. {{~#each android-app-plugins}}
  6. id("{{this}}"){{/each}}
  7. }
  8. android {
  9. compileSdk = 33
  10. namespace = "{{reverse-domain app.domain}}.{{snake-case app.name}}"
  11. defaultConfig {
  12. manifestPlaceholders["usesCleartextTraffic"] = "false"
  13. applicationId = "{{reverse-domain app.domain}}.{{snake-case app.name}}"
  14. minSdk = {{android.min-sdk-version}}
  15. targetSdk = 33
  16. versionCode = 1
  17. versionName = "1.0"
  18. }
  19. buildTypes {
  20. getByName("debug") {
  21. manifestPlaceholders["usesCleartextTraffic"] = "true"
  22. isDebuggable = true
  23. isJniDebuggable = true
  24. isMinifyEnabled = false
  25. packaging {
  26. {{~#each abi-list}}
  27. jniLibs.keepDebugSymbols.add("*/{{this}}/*.so")
  28. {{/each}}
  29. }
  30. }
  31. getByName("release") {
  32. isMinifyEnabled = true
  33. proguardFiles(
  34. *fileTree(".") { include("**/*.pro") }
  35. .plus(getDefaultProguardFile("proguard-android-optimize.txt"))
  36. .toList().toTypedArray()
  37. )
  38. }
  39. }
  40. kotlinOptions {
  41. jvmTarget = "1.8"
  42. }
  43. }
  44. rust {
  45. rootDirRel = "{{root-dir-rel}}"
  46. }
  47. dependencies {
  48. {{~#each android-app-dependencies-platform}}
  49. implementation(platform("{{this}}")){{/each}}
  50. {{~#each android-app-dependencies}}
  51. implementation("{{this}}"){{/each}}
  52. implementation("androidx.webkit:webkit:1.6.1")
  53. implementation("androidx.appcompat:appcompat:1.6.1")
  54. implementation("com.google.android.material:material:1.8.0")
  55. testImplementation("junit:junit:4.13.2")
  56. androidTestImplementation("androidx.test.ext:junit:1.1.4")
  57. androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0")
  58. }
  59. apply(from = "tauri.build.gradle.kts")