apply plugin: 'com.android.library' android { compileSdkVersion 28 // a default can be used, but it is good practice to explicitly select build tools buildToolsVersion '28.0.3' defaultConfig { // no applicationId with a library // applicationId 'xyz.nc.android.wc' minSdkVersion 23 targetSdkVersion 28 versionCode 1 versionName '1.0' externalNativeBuild { cmake { arguments '-DANDROID_PLATFORM=android-23', '-DANDROID_TOOLCHAIN=clang' } } } externalNativeBuild { cmake { path 'CMakeLists.txt' } } } // Copies files to the dist/ folder, adds a timestamp // instead of using a bash script I ventured out to try this file copy in Groovy (Gradle) // ...and yay, I was successful =) task copyLibs(type: Copy) { def thisDate = new Date().format('yyyyMMdd_HHmmssSSS') from('build/intermediates/cmake/debug/obj/') { include '**/*.so' into 'debug' } from('build/intermediates/cmake/release/obj/') { include '**/*.so' into 'release' } into "dist/wolfssl-jni_${thisDate}/" } dependencies { testImplementation 'junit:junit:4.12' }