apply plugin: 'com.android.library' apply plugin: 'de.undercouch.download' android { compileSdkVersion 29 buildToolsVersion '30.0.3' ndkVersion '22.0.7026061' defaultConfig { minSdkVersion 16 targetSdkVersion 29 externalNativeBuild { ndkBuild { arguments '-j' + Runtime.getRuntime().availableProcessors(), "versionMajor=${versionMajor}", "versionMinor=${versionMinor}", "versionPatch=${versionPatch}", "versionExtra=${versionExtra}" } } } externalNativeBuild { ndkBuild { path file('jni/Android.mk') } } // supported architectures splits { abi { enable true reset() include 'armeabi-v7a', 'arm64-v8a'//, 'x86' } } buildTypes { release { externalNativeBuild { ndkBuild { arguments 'NDEBUG=1' } } } } } // get precompiled deps def folder = 'minetest_android_deps_binaries' task downloadDeps(type: Download) { src 'https://github.com/minetest/' + folder + '/archive/master.zip' dest new File(buildDir, 'deps.zip') overwrite false } task getDeps(dependsOn: downloadDeps, type: Copy) { def deps = file('deps') def f = file("$buildDir/" + folder + "-master") if (!deps.exists() && !f.exists()) { from zipTree(downloadDeps.dest) into buildDir } doLast { if (!deps.exists()) { file(f).renameTo(file(deps)) } } } // get sqlite def sqlite_ver = '3340000' task downloadSqlite(dependsOn: getDeps, type: Download) { src 'https://www.sqlite.org/2020/sqlite-amalgamation-' + sqlite_ver + '.zip' dest new File(buildDir, 'sqlite.zip') overwrite false } task getSqlite(dependsOn: downloadSqlite, type: Copy) { def sqlite = file('deps/Android/sqlite') def f = file("$buildDir/sqlite-amalgamation-" + sqlite_ver) if (!sqlite.exists() && !f.exists()) { from zipTree(downloadSqlite.dest) into buildDir } doLast { if (!sqlite.exists()) { file(f).renameTo(file(sqlite)) } } } preBuild.dependsOn getDeps preBuild.dependsOn getSqlite