Module Android.ndk

The Android.ndk module contains the properties and rules to create native libraries for use in Android application packages.

Normally, you will not use this module directly, but instead work with the DynamicLibrary and StaticLibrary items that Qbs provides. Here is what the project file for the "hello-jni" example that comes with the NDK could look like:


  import qbs

  Project {
      DynamicLibrary {
          name: "hello-jni"
          architectures: ["mips", "x86"]
          files: ["jni/hello-jni.c"]
      }

      AndroidApk {
          name: "HelloJni"
          packageName: "com.example.hellojni"
          Depends { productTypes: ["android.nativelibrary"] }
      }
  }

Android.ndk Properties

These properties are set automatically when creating an Android profile via the setup-android tool.

PropertyTypeSinceDefaultDescription
abistring1.4undefinedThe ABI name as it appears under "lib/" in the application package. Corresponds to APP_ABI in Android.mk.
appStlstring1.4"system"The library to use for C++. The possible values are: "system", "gabi++_static", "gabi++_shared", "stlport_static", "stlport_shared", "gnustl_static", "gnustl_shared", "c++_static", "c++_shared".
ndkDirpath1.4undefinedThe NDK base directory.
platformstring1.4"android-9"The versioned platform name.

Relevant File Tags

TagSinceDescription
"android.nativelibrary"1.4.0This tag is attached to dynamic libraries that will end up in APK packages. You do not normally need to use the tag explicitly, as it is the default type of the DynamicLibrary item for Android targets.