@@ -8,20 +8,22 @@ plugins {
88
99group = ' com.github.dalgarins'
1010
11- gradle. projectsEvaluated {
12- preBuild. dependsOn(buildSqlite)
13- }
14-
1511android {
1612 namespace ' org.spatialite'
1713 compileSdk 34
18- ndkVersion ' 21.0.6113669 '
14+ ndkVersion ' 27.3.13750724 '
1915
2016 defaultConfig {
2117 minSdk 21
2218
2319 testInstrumentationRunner " androidx.test.runner.AndroidJUnitRunner"
2420 consumerProguardFiles " consumer-rules.pro"
21+
22+ externalNativeBuild {
23+ ndkBuild {
24+ arguments " -j8" , " V=1"
25+ }
26+ }
2527 }
2628
2729 buildTypes {
@@ -42,6 +44,12 @@ android {
4244 }
4345
4446 sourceSets. main. jni. srcDirs = [' src/main/none' ]
47+
48+ externalNativeBuild {
49+ ndkBuild {
50+ path " src/main/jni/Android.mk"
51+ }
52+ }
4553}
4654
4755ext {
@@ -62,46 +70,7 @@ tasks.register('installSqlite', Copy) {
6270 into ' src/main/jni/ndk-modules/sqlite'
6371}
6472
65- def ndkDir = System . getenv(" NDK_HOME" )
66- if (ndkDir == null ) {
67- def propertiesFile = project. rootProject. file(' local.properties' )
68- if (propertiesFile. exists()) {
69- Properties properties = new Properties ()
70- properties. load(propertiesFile. newDataInputStream())
71- ndkDir = properties. getProperty(' ndk.dir' )
72- if (ndkDir == null ) {
73- throw GradleScriptException (" Either NDK_HOME or ndk.dir in local.properties should point to Android NDK!" )
74- }
75- } else {
76- throw GradleScriptException (" Either NDK_HOME or ndk.dir in local.properties should point to Android NDK!" )
77- }
78- }
79-
80- tasks. register(' buildSqlite' , Exec ) {
81- dependsOn installSqlite
82- println (" NDK directory: $ndkDir " )
83-
84- // Add NDK_DEBUG=1 for debug symbols or V=1 for verbose building output
85- if (OperatingSystem . current(). linux) {
86- commandLine " $ndkDir /ndk-build" , ' -j8' , ' -C' , file(' src/main/jni' ). absolutePath
87- } else if (OperatingSystem . current(). windows) {
88- commandLine " $ndkDir /ndk-build.cmd" , ' -j8' , ' -C' , file(' src/main/jni' ). absolutePath
89- } else {
90- commandLine " $ndkDir /ndk-build" , ' -j8' , ' -C' , file(' src/main/jni' ). absolutePath
91- }
92- }
93-
94- tasks. register(' ndkClean' , Exec ) {
95- if (OperatingSystem . current(). linux) {
96- commandLine " $ndkDir /ndk-build" , ' clean' , ' -C' , file(' src/main/jni' ). absolutePath
97- } else if (OperatingSystem . current(). windows) {
98- commandLine " $ndkDir /ndk-build.cmd" , ' clean' , ' -C' , file(' src/main/jni' ). absolutePath
99- } else {
100- commandLine " $ndkDir /ndk-build" , ' clean' , ' -C' , file(' src/main/jni' ). absolutePath
101- }
102- }
103-
104- clean. dependsOn ' ndkClean'
73+ preBuild. dependsOn installSqlite
10574
10675dependencies {
10776
0 commit comments