Эх сурвалжийг харах

Merge pull request #9969 from nextcloud/chore/ndk-version

build: Specify NDK version (optional install)
Álvaro Brey 3 жил өмнө
parent
commit
e8acc254b8

+ 4 - 0
.github/workflows/qa.yml

@@ -19,6 +19,10 @@ jobs:
                 with:
                     distribution: "temurin"
                     java-version: 11
+            -   name: Install NDK and cmake
+                run: |
+                    source ndk.env
+                    /usr/local/lib/android/sdk/tools/bin/sdkmanager "ndk;${NDK_VERSION}" "cmake;${CMAKE_VERSION}"
             -   name: Build QA
                 if: ${{ steps.check-secrets.outputs.ok == 'true' }}
                 env:

+ 9 - 0
app/build.gradle

@@ -69,9 +69,18 @@ def versionMinor = 20
 def versionPatch = 0
 def versionBuild = 0 // 0-50=Alpha / 51-98=RC / 90-99=stable
 
+
+def ndkEnv = new HashMap<String, String>()
+file("$project.rootDir/ndk.env").readLines().each() {
+    def (key, value) = it.tokenize('=')
+    ndkEnv.put(key, value)
+}
+
 android {
 
     compileSdkVersion 31
+    // install this NDK version and Cmake to produce smaller APKs. Build will still work if not installed
+    ndkVersion "${ndkEnv.get("NDK_VERSION")}"
 
     defaultConfig {
         minSdkVersion 23

+ 2 - 0
ndk.env

@@ -0,0 +1,2 @@
+NDK_VERSION=21.4.7075529
+CMAKE_VERSION=3.18.1

+ 11 - 0
scripts/buildDev

@@ -11,6 +11,17 @@ sed -i "/versionDev/,/\}/ s/versionName .*/versionName \"$date\"/" build.gradle
 sed -i s"#androidLibraryVersion\ =.*#androidLibraryVersion =\"$libraryCommit\"#" build.gradle
 
 # build signed apk
+source ndk.env
+yes | sdkmanager --licenses
+
+if [ ! -e ~/android-sdk/ndk/${NDK_VERSION} ]; then
+    sdkmanager "ndk;${NDK_VERSION}"
+fi
+
+if [ ! -e ~/android-sdk/cmake/${CMAKE_VERSION} ]; then
+    sdkmanager "cmake;${CMAKE_VERSION}"
+fi
+
 ./gradlew assembleVersionDevRelease >> /tmp/dev.log 2>&1
 
 if [ $? != 0 ] ; then