Skip to content

Commit

Permalink
按照abi 生成多个apk
Browse files Browse the repository at this point in the history
ktor 依赖加入version-catalog
  • Loading branch information
storytellerF committed Dec 10, 2023
1 parent db6ad56 commit c83316a
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 33 deletions.
11 changes: 10 additions & 1 deletion .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,16 @@ jobs:
- uses: actions/upload-artifact@v3
with:
name: Signed app bundle
path: ${{steps.sign_app.outputs.signedReleaseFile}}
path: |
${{ steps.sign_app.signedReleaseFile0 }}
${{ steps.sign_app.signedReleaseFile1 }}
${{ steps.sign_app.signedReleaseFile2 }}
${{ steps.sign_app.signedReleaseFile3 }}
${{ steps.sign_app.signedReleaseFile4 }}
${{ steps.sign_app.signedReleaseFile5 }}
${{ steps.sign_app.signedReleaseFile6 }}
${{ steps.sign_app.signedReleaseFile7 }}
${{ steps.sign_app.signedReleaseFile8 }}
release:
name: Release APK
Expand Down
31 changes: 11 additions & 20 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,18 @@ android {
pickFirsts += ['META-INF/*']
}
}
splits {

// Configures multiple APKs based on ABI.
abi {
enable true
include "x86", "x86_64", "arm64-v8a", "armeabi-v7a"
universalApk true
}
}
}

dependencies {
def ktor_version = '2.3.1'

implementation libs.androidx.core.ktx
implementation libs.androidx.lifecycle.runtime.ktx
implementation libs.androidx.activity.compose
Expand All @@ -80,24 +87,8 @@ dependencies {
androidTestImplementation libs.androidx.espresso.core

//ktor
implementation "io.ktor:ktor-server-core:" + ktor_version
implementation "io.ktor:ktor-server-netty:$ktor_version"

implementation("io.ktor:ktor-server-host-common:$ktor_version")
implementation("io.ktor:ktor-server-status-pages:$ktor_version")
implementation("io.ktor:ktor-server-content-negotiation:$ktor_version")
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktor_version")
implementation("io.ktor:ktor-server-thymeleaf:$ktor_version")
implementation("io.ktor:ktor-server-html-builder:$ktor_version")
implementation("io.ktor:ktor-server-websockets:$ktor_version")
implementation("io.ktor:ktor-server-call-logging:$ktor_version")
implementation("io.ktor:ktor-server-partial-content:$ktor_version")
implementation("io.ktor:ktor-server-auto-head-response:$ktor_version")
implementation("io.ktor:ktor-server-auth:$ktor_version")
implementation("io.ktor:ktor-server-sessions:$ktor_version")

implementation("io.ktor:ktor-client-websockets:$ktor_version")
implementation("io.ktor:ktor-client-cio:$ktor_version")
implementation(libs.bundles.ktor.server)
implementation(libs.bundles.ktor.client)

implementation(libs.bundles.coruntines)

Expand Down
1 change: 0 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,5 @@ kotlin.code.style=official
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true
org.gradle.unsafe.configuration-cache=true
android.defaults.buildfeatures.buildconfig=true
android.nonFinalResIds=true
baoFolder=local
46 changes: 35 additions & 11 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[versions]
accompanist-permissions = "0.30.0"
activity-compose = "1.7.2"
androidx-core-ktx = "1.10.1"
accompanist-permissions = "0.30.1"
activity-compose = "1.8.1"
androidx-core-ktx = "1.12.0"
androidx-junit = "1.1.5"
browser = "1.5.0"
browser = "1.7.0"
compose-prefs3 = "1.0.4"
core = "3.5.1"
core-splashscreen = "1.0.1"
Expand All @@ -12,14 +12,15 @@ customview = "1.1.0"
datastore-preferences = "1.0.0"
espresso-core = "3.5.1"
junit = "4.13.2"
kotlinx-coroutines = "1.6.4"
leakcanary-android = "2.11"
lifecycle-runtime-ktx = "2.6.1"
material3 = "1.1.1"
navigation-compose = "2.6.0"
kotlinx-coroutines = "1.7.3"
ktor-server-core = "2.3.4"
leakcanary-android = "2.12"
lifecycle-runtime-ktx = "2.6.2"
material3 = "1.1.2"
navigation-compose = "2.7.5"
slf4j-android = "1.7.36"
ui = "1.4.3"
webkit = "1.7.0"
ui = "1.5.4"
webkit = "1.9.0"

[libraries]
accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanist-permissions" }
Expand Down Expand Up @@ -47,8 +48,31 @@ core = { module = "com.google.zxing:core", version.ref = "core" }
junit = { module = "junit:junit", version.ref = "junit" }
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }
ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor-server-core" }
ktor-client-websockets = { module = "io.ktor:ktor-client-websockets", version.ref = "ktor-server-core" }
ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor-server-core" }
ktor-server-auth = { module = "io.ktor:ktor-server-auth", version.ref = "ktor-server-core" }
ktor-server-auto-head-response = { module = "io.ktor:ktor-server-auto-head-response", version.ref = "ktor-server-core" }
ktor-server-call-logging = { module = "io.ktor:ktor-server-call-logging", version.ref = "ktor-server-core" }
ktor-server-content-negotiation = { module = "io.ktor:ktor-server-content-negotiation", version.ref = "ktor-server-core" }
ktor-server-core = { module = "io.ktor:ktor-server-core", version.ref = "ktor-server-core" }
ktor-server-host-common = { module = "io.ktor:ktor-server-host-common", version.ref = "ktor-server-core" }
ktor-server-html-builder = { module = "io.ktor:ktor-server-html-builder", version.ref = "ktor-server-core" }
ktor-server-netty = { module = "io.ktor:ktor-server-netty", version.ref = "ktor-server-core" }
ktor-server-partial-content = { module = "io.ktor:ktor-server-partial-content", version.ref = "ktor-server-core" }
ktor-server-sessions = { module = "io.ktor:ktor-server-sessions", version.ref = "ktor-server-core" }
ktor-server-status-pages = { module = "io.ktor:ktor-server-status-pages", version.ref = "ktor-server-core" }
ktor-server-thymeleaf = { module = "io.ktor:ktor-server-thymeleaf", version.ref = "ktor-server-core" }
ktor-server-websockets = { module = "io.ktor:ktor-server-websockets", version.ref = "ktor-server-core" }
leakcanary-android = { module = "com.squareup.leakcanary:leakcanary-android", version.ref = "leakcanary-android" }
slf4j-android = { module = "org.slf4j:slf4j-android", version.ref = "slf4j-android" }

[bundles]
coruntines = ["kotlinx-coroutines-android", "kotlinx-coroutines-core"]
ktor-server = ["ktor-server-core", "ktor-server-netty", "ktor-server-auth",
"ktor-server-auto-head-response", "ktor-server-call-logging",
"ktor-server-content-negotiation", "ktor-server-host-common",
"ktor-server-html-builder", "ktor-server-partial-content",
"ktor-server-sessions", "ktor-server-status-pages",
"ktor-server-thymeleaf", "ktor-server-websockets", "ktor-serialization-kotlinx-json"]
ktor-client = ["ktor-client-cio", "ktor-client-websockets"]

0 comments on commit c83316a

Please sign in to comment.