Come velocizzare le build Android ndk

Come velocizzare le build Android ndk

Non è necessario utilizzare il sistema di build di Android per la compilazione; gli strumenti sono tutti disponibili per l'uso all'interno di un Makefile (sebbene dovrai fare attenzione a impostare percorsi di inclusione, percorsi di libreria e opzioni del compilatore).

Dato che puoi creare il tuo Makefile invece di usare gli script di build predefiniti, puoi usare il -jN opzione per specificare il numero di operazioni simultanee da eseguire.


Il seguente frammento di bulid.gradle mostra un esempio di -jN e abifiltri :(vedi http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.ExternalNativeNdkBuildOptions.html e https://google.github.io/android-gradle -dsl/current/com.android.build.gradle.internal.dsl.NdkOptions.html)

android {
compileSdkVersion 21
buildToolsVersion '25.0.3'

defaultConfig {
    applicationId "test"
    minSdkVersion 21
    targetSdkVersion 21

    ndk {
        moduleName "native_lib"
        abiFilters 'armeabi-v7a', 'arm64-v8a'
    }
    externalNativeBuild {
        ndkBuild {
            arguments '-j4'
        }
    }
    jackOptions {
        enabled true
    }
}.....

Per tutti coloro che ricevono il seguente errore

C'è una differenza tra

android.externalNativeBuild (qui) e

android.defaultConfig.externalNativeBuild (qui).

android.defaultConfig.externalNativeBuild accetta arguments e può essere utilizzato per impostare -j opzione.