Make build-release

Hi,

I am trying building the library, using the instructions, on macos. I installed the ndk r15c, exported ANDROID_NDK_ROOT, and run make install and make build-release . After sometime the latter fails with

* What went wrong:
Execution failed for task ':android-database-sqlcipher:buildNative'.
> A problem occurred starting process 'command 'ndk-build''

running the command manually says

Android NDK: Could not find application project directory !    
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it. 

I tried setting it to point to the source folder but keep failing with

Android NDK: APP_PLATFORM not set. Defaulting to minimum supported version android-14.    
Android NDK: Your APP_BUILD_SCRIPT points to an unknown file:  Android.mk    

i also have ndk-build in the path

Did I miss something?

Thanks for the help

Hi @bblackbelt

There isn’t an install target, however, did you run make init before your call to make build-release? If not, you will need to do that.

Yes, sorry what I meant is make build-release after I ran make init.

Is there an ETA for the next release?

Thanks

Hi @bblackbelt

You might try invoking the gradle task directly to see if it provides some additional output. We do not have a release date available at this time.

Hi @developernotes, thanks for the help. Gradle wasn’t picking up the PATH and therefore the task was failing. Forcing the path like

"$System.env.ANDROID_NDK_ROOT/ndk-build"

allowed me to build the aar

BR

Hi @bblackbelt

Great, we are happy to hear you were able to build the software!

In my case the reason was that I had not added the NDK folder in my system’s PATH.

Even when adding it, the problem persisted. This was because the gradle daemon did not restart and the JVM didn’t see the updated PATH variable. So, after changing your PATH or environmental variables, make sure that you shutdown JVM.

Either way, the latest SQLCipher versions use a full path to “ndk-build”, but in case you need to build an older version, this is required.