Explorar o código

Generate APKs per CPU architecture

arkon %!s(int64=3) %!d(string=hai) anos
pai
achega
9299a4beff
Modificáronse 2 ficheiros con 16 adicións e 3 borrados
  1. 2 0
      .github/workflows/build.yml
  2. 14 3
      app/build.gradle.kts

+ 2 - 0
.github/workflows/build.yml

@@ -61,6 +61,8 @@ jobs:
           set -x
           echo "VERSION_TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
 
+      # TODO: need to support multiple APKs
+
       - name: Sign APK
         if: startsWith(github.ref, 'refs/tags/') && github.repository == 'tachiyomiorg/tachiyomi'
         uses: r0adkll/sign-android-release@v1

+ 14 - 3
app/build.gradle.kts

@@ -18,6 +18,8 @@ if (gradle.startParameter.taskRequests.toString().contains("Standard")) {
 
 shortcutHelper.setFilePath("./shortcuts.xml")
 
+val SUPPORTED_ABIS = setOf("armeabi-v7a", "arm64-v8a", "x86")
+
 android {
     compileSdkVersion(AndroidConfig.compileSdk)
     buildToolsVersion(AndroidConfig.buildTools)
@@ -42,12 +44,17 @@ android {
         multiDexEnabled = true
 
         ndk {
-            abiFilters += setOf("armeabi-v7a", "arm64-v8a", "x86")
+            abiFilters += SUPPORTED_ABIS
         }
     }
 
-    buildFeatures {
-        viewBinding = true
+    splits {
+        abi {
+            isEnable = true
+            reset()
+            include(*SUPPORTED_ABIS.toTypedArray())
+            isUniversalApk = true
+        }
     }
 
     buildTypes {
@@ -101,6 +108,10 @@ android {
         includeInApk = false
     }
 
+    buildFeatures {
+        viewBinding = true
+    }
+
     lintOptions {
         disable("MissingTranslation", "ExtraTranslation")
         isAbortOnError = false