Android native library that is compiled with AOSP

android

#1

Hi, I’m very new to circleci, and previously had been using Jenkins on a local server for my CI needs.

I would like to know how to go about setting up a CI environment for an Android project that has a native shared library that has to be compiled against AOSP (100+GB source), and also has an apk on top.

The AOSP is only compiled once, after that, changes to my app take but a few seconds to compile.

I was thinking about setting up a google cloud compute VM, checkout and build AOSP there and then sleep until CircleCI wakes it up for a build.

My doubts: Is CCI able to start the VM on demand and have it build the code, then stop after the job is done?

Thanks for any tip!


#2

You can do this, how long does the compile step take? The max timeout is about two hours on CircleCI.


#3

Compiling my project takes but a few seconds, so I would not expect the timeout to be an issue.

If it had to re-compile AOSP from source every single time a build was triggered than it would be a problem… compiling it on the Google Cloud VM (8vCPUs, 30GB RAM) took close to 70 minutes.

I was also thinking about a containerized solution, with the container mapping the compiled AOSP root folder from either an NFS partition somewhere or some other form of cloud storage.

I am somehow intrigued with the idea of having a lean build env in which I only have my cross compilation toolchain and the shared libs my project links against, and therefore I would not need to have this elephant (AOSP source is close to 120GB) in the room. But this cross compilation stuff is all a bit of rocket science to me.


#4